Yuta HIGUCHI | 1167832 | 2014-07-08 18:07:43 -0700 | [diff] [blame] | 1 | package net.onrc.onos.core.util; |
| 2 | |
| 3 | import static org.junit.Assert.*; |
| 4 | |
| 5 | import org.junit.Test; |
| 6 | |
| 7 | /** |
| 8 | * Basic SwitchPort test. |
| 9 | */ |
| 10 | public class SwitchPortTest { |
| 11 | |
| 12 | private static final Dpid DPID = new Dpid(9); |
| 13 | private static final PortNumber PORT_NUM = new PortNumber((short) 56); |
| 14 | |
| 15 | private static final SwitchPort SWP1 = new SwitchPort(DPID, PORT_NUM); |
| 16 | private static final SwitchPort SWP2 = new SwitchPort(new Dpid(1), |
| 17 | new PortNumber((short) 65535)); |
| 18 | |
| 19 | /** |
| 20 | * Tests to confirm 2-arg constructor. |
| 21 | */ |
| 22 | @Test |
| 23 | public void testSwitchPortDpidPortNumber() { |
| 24 | SwitchPort swp = new SwitchPort(DPID, PORT_NUM); |
| 25 | |
| 26 | assertEquals(DPID, swp.getDpid()); |
| 27 | assertEquals(PORT_NUM, swp.getPortNumber()); |
| 28 | } |
| 29 | |
| 30 | /** |
| 31 | * Tests to confirm constructors input validation. |
| 32 | */ |
Yuta HIGUCHI | a860dff | 2014-08-20 21:16:30 -0700 | [diff] [blame^] | 33 | @Test(expected = NullPointerException.class) |
Yuta HIGUCHI | 1167832 | 2014-07-08 18:07:43 -0700 | [diff] [blame] | 34 | public void testSwitchPortDpidPortNumberFailOnNull1() { |
| 35 | new SwitchPort(null, PORT_NUM); |
| 36 | } |
| 37 | |
| 38 | /** |
| 39 | * Tests to confirm constructors input validation. |
| 40 | */ |
Yuta HIGUCHI | a860dff | 2014-08-20 21:16:30 -0700 | [diff] [blame^] | 41 | @Test(expected = NullPointerException.class) |
Yuta HIGUCHI | 1167832 | 2014-07-08 18:07:43 -0700 | [diff] [blame] | 42 | public void testSwitchPortDpidPortNumberFailOnNull2() { |
| 43 | new SwitchPort(DPID, null); |
| 44 | } |
| 45 | |
| 46 | /** |
| 47 | * Test to detect string representation change. |
| 48 | */ |
| 49 | @Test |
| 50 | public void testToString() { |
Yuta HIGUCHI | 9da3a6e | 2014-06-10 22:11:58 -0700 | [diff] [blame] | 51 | assertEquals("00:00:00:00:00:00:00:01/65535", SWP2.toString()); |
Yuta HIGUCHI | 1167832 | 2014-07-08 18:07:43 -0700 | [diff] [blame] | 52 | } |
| 53 | |
| 54 | /** |
| 55 | * Tests confirming equals returning true. |
| 56 | */ |
| 57 | @Test |
| 58 | public void testEqualsTrue() { |
| 59 | SwitchPort swp = new SwitchPort(DPID, PORT_NUM); |
| 60 | |
| 61 | assertTrue(SWP1.equals(swp)); |
| 62 | assertTrue(swp.equals(SWP1)); |
| 63 | assertEquals(SWP1.hashCode(), swp.hashCode()); |
| 64 | |
| 65 | assertTrue(swp.equals(swp)); |
| 66 | } |
| 67 | |
| 68 | /** |
| 69 | * Tests confirming equals returning false. |
| 70 | */ |
| 71 | @Test |
| 72 | public void testEqualsFalse() { |
| 73 | SwitchPort swp = new SwitchPort(DPID, PORT_NUM); |
| 74 | |
| 75 | assertFalse(SWP2.equals(swp)); |
| 76 | assertFalse(swp.equals(SWP2)); |
| 77 | assertNotEquals(SWP2.hashCode(), swp.hashCode()); |
| 78 | |
| 79 | assertFalse(swp.equals(null)); |
| 80 | |
| 81 | assertFalse(swp.equals(PORT_NUM)); |
| 82 | } |
| 83 | |
| 84 | } |