Initial code drop
[bgpcep.git] / bgp / linkstate / src / test / java / org / opendaylight / protocol / bgp / linkstate / SharedRiskLinkGroupTest.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.bgp.linkstate;
9
10 import static org.hamcrest.CoreMatchers.*;
11 import static org.junit.Assert.*;
12
13 import org.junit.Test;
14 import org.opendaylight.protocol.concepts.SharedRiskLinkGroup;
15
16 public class SharedRiskLinkGroupTest {
17
18         @Test
19         public void testOverflows() {
20                 try {
21                         new SharedRiskLinkGroup(-2);
22                         fail("Constructor successful unexpectedly");
23                 } catch(IllegalArgumentException e) {}
24                 try {
25                         new SharedRiskLinkGroup(4294967296L);
26                         fail("Constructor successful unexpectedly");
27                 } catch(IllegalArgumentException e) {}
28         }
29
30         @Test
31         public void testGetValue() {
32                 SharedRiskLinkGroup group = new SharedRiskLinkGroup(252);
33                 assertEquals(252, group.getValue());
34         }
35
36         @Test
37         public void testHashCodeEquals() {
38                 SharedRiskLinkGroup group1 = new SharedRiskLinkGroup(252);
39                 SharedRiskLinkGroup group2 = new SharedRiskLinkGroup(252);
40                 SharedRiskLinkGroup group3 = new SharedRiskLinkGroup(987);
41                 SharedRiskLinkGroup group4 = group3;
42
43                 assertThat(group1.hashCode(), equalTo(group2.hashCode()));
44                 assertThat(group1.hashCode(), not(equalTo(group3.hashCode())));
45
46                 assertThat(group1, equalTo(group2));
47                 assertThat(group1, not(equalTo((group3))));
48                 assertThat(group3, equalTo(group4));
49                 assertNotNull(group1);
50                 assertThat(group1, not(new Object()));
51         }
52
53         @Test
54         public void testCompareTo(){
55                 SharedRiskLinkGroup s1 = new SharedRiskLinkGroup(123);
56                 SharedRiskLinkGroup s2 = s1;
57                 SharedRiskLinkGroup s3 = new SharedRiskLinkGroup(158);
58                 assertTrue(s1.compareTo(s2) == 0);
59                 assertTrue(s1.compareTo(s3) < 0);
60                 assertTrue(s3.compareTo(s1) > 0);
61         }
62
63         @Test
64         public void testEquals(){
65                 SharedRiskLinkGroup s1 = new SharedRiskLinkGroup(123);
66                 SharedRiskLinkGroup s2 = s1;
67                 SharedRiskLinkGroup s3 = new SharedRiskLinkGroup(158);
68                 assertFalse(s1.equals(null));
69                 assertFalse(s1.equals(new Object()));
70                 assertTrue(s1.equals(s2));
71                 assertFalse(s1.equals(s3));
72         }
73
74 }