blob: 20ffcc063186cc6b6699322af29226b68a1d3b68 [file] [log] [blame]
Toshio Koide515ba842014-08-20 11:53:37 -07001package net.onrc.onos.api.flowmanager;
2
Toshio Koide778c4d62014-08-29 11:18:31 -07003import static net.onrc.onos.core.util.ImmutableClassChecker.assertThatClassIsImmutable;
4import static org.junit.Assert.assertEquals;
5import net.onrc.onos.core.util.TestUtils;
Toshio Koide515ba842014-08-20 11:53:37 -07006
Toshio Koide778c4d62014-08-29 11:18:31 -07007import org.junit.Before;
Toshio Koide515ba842014-08-20 11:53:37 -07008import org.junit.Test;
9
Toshio Koide778c4d62014-08-29 11:18:31 -070010import com.google.common.testing.EqualsTester;
11
12/**
13 * Unit tests for {@link FlowId} class.
14 */
Toshio Koide515ba842014-08-20 11:53:37 -070015public class FlowIdTest {
Toshio Koide778c4d62014-08-29 11:18:31 -070016 private FlowId flowId1;
17 private FlowId flowId2;
18 private FlowId flowId3;
19 private FlowId flowId4;
20 private FlowId flowId5;
Toshio Koide515ba842014-08-20 11:53:37 -070021
Toshio Koide778c4d62014-08-29 11:18:31 -070022 @Before
23 public void setUp() {
24 flowId1 = new FlowId(0L);
25 flowId2 = new FlowId(1L);
26 flowId3 = new FlowId(2L);
27 flowId4 = new FlowId(1L);
28 flowId5 = new FlowId(0xABCDEFL);
Toshio Koide515ba842014-08-20 11:53:37 -070029 }
30
Toshio Koide778c4d62014-08-29 11:18:31 -070031 /**
32 * Tests {@link FlowId#FlowId(long)} constructor.
33 */
34 @Test
35 public void testConstructor() {
36 assertEquals(0xABCDEFL, TestUtils.getField(flowId5, "id"));
37 }
38
39 /**
40 * Tests the equality of {@link FlowId} objects.
41 */
42 @Test
43 public void testEqualsAndHashCode() {
44 new EqualsTester()
45 .addEqualityGroup(flowId1)
46 .addEqualityGroup(flowId2, flowId4)
47 .addEqualityGroup(flowId3)
48 .addEqualityGroup(flowId5)
49 .testEquals();
50 }
51
52 /**
53 * Tests {@link FlowId#toString()} method.
54 */
55 @Test
56 public void testToString() {
57 assertEquals("0x0", flowId1.toString());
58 assertEquals("0xabcdef", flowId5.toString());
59 }
60
61 /**
62 * Tests if {@link FlowId} is immutable.
63 */
64 @Test
65 public void testImmutable() {
66 assertThatClassIsImmutable(FlowId.class);
67 }
Toshio Koide515ba842014-08-20 11:53:37 -070068}