blob: 7a752480046b41636a2142f40a2e64dd2a5774c7 [file] [log] [blame]
Yotam Harchola11f38b2013-09-26 15:38:17 -07001package org.projectfloodlight.openflow.types;
2
3import static org.junit.Assert.assertArrayEquals;
4import junit.framework.TestCase;
5
6import org.junit.Test;
7
8public class OFPortMapTest extends TestCase {
9
10 @Test
11 public void testOFPortMap() {
12 Boolean[] on = new Boolean[128];
13 for (int i = 0; i < 128; i++) {
14 on[i] = false;
15 }
16
17 OFPortMap.Builder builder = new OFPortMap.Builder();
18
19 for (int i = 0; i < 128; i += 3) {
20 OFPort p = OFPort.of(i);
21 builder.set(p);
22 on[p.getPortNumber()] = true;
23 }
24
25 // Test that all ports that were added are actually on, and all other ports are off
26 OFPortMap portmap = builder.build();
Yotam Harchol595c6442013-09-27 16:29:08 -070027 //System.out.println(portmap);
Yotam Harchola11f38b2013-09-26 15:38:17 -070028 Boolean[] actual = new Boolean[128];
29 for (int i = 0; i < 128; i++) {
30 actual[i] = false;
31 }
32 for (int i = 0; i < 128; i++) {
33 actual[i] = portmap.isOn(OFPort.of(i));
34 }
35 assertArrayEquals(on, actual);
36
37 // Turn some ports off
38 for (int i = 0; i < 128; i += 7) {
39 on[i] = false;
40 builder.unset(OFPort.of(i));
41 }
42
43 // Test again
44 portmap = builder.build();
45 actual = new Boolean[128];
46 for (int i = 0; i < 128; i++) {
47 actual[i] = false;
48 }
49 for (int i = 0; i < 128; i++) {
50 actual[i] = portmap.isOn(OFPort.of(i));
51 }
52 assertArrayEquals(on, actual);
53 }
54}