blob: 7f5ab5da263d0d35895bda95180a4b950de5500c [file] [log] [blame]
package org.projectfloodlight.openflow.types;
import static org.junit.Assert.assertArrayEquals;
import junit.framework.TestCase;
import org.junit.Test;
public class OFPortBitMapTest extends TestCase {
@Test
public void testOFPortBitMap() {
Boolean[] on = new Boolean[127];
for (int i = 0; i < 127; i++) {
on[i] = false;
}
OFPortBitMap.Builder builder = new OFPortBitMap.Builder();
for (int i = 0; i < 127; i += 3) {
OFPort p = OFPort.of(i);
builder.set(p);
on[p.getPortNumber()] = true;
}
// Test that all ports that were added are actually on, and all other ports are off
OFPortBitMap portmap = builder.build();
//System.out.println(portmap);
Boolean[] actual = new Boolean[127];
for (int i = 0; i < 127; i++) {
actual[i] = false;
}
for (int i = 0; i < 127; i++) {
actual[i] = portmap.isOn(OFPort.of(i));
}
assertArrayEquals(on, actual);
// Turn some ports off
for (int i = 0; i < 127; i += 7) {
on[i] = false;
builder.unset(OFPort.of(i));
}
// Test again
portmap = builder.build();
actual = new Boolean[127];
for (int i = 0; i < 127; i++) {
actual[i] = false;
}
for (int i = 0; i < 127; i++) {
actual[i] = portmap.isOn(OFPort.of(i));
}
assertArrayEquals(on, actual);
}
}