Populate data/ hierarchy
[yangtools.git] / yang / yang-model-ri / src / test / java / org / opendaylight / yangtools / yang / model / ri / type / BitImplTest.java
1 /*
2  * Copyright (c) 2014 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.yangtools.yang.model.ri.type;
9
10 import static java.util.Collections.emptyList;
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertFalse;
13
14 import java.net.URISyntaxException;
15 import java.util.Optional;
16 import org.junit.Test;
17 import org.opendaylight.yangtools.yang.common.Uint32;
18 import org.opendaylight.yangtools.yang.model.api.Status;
19
20 public class BitImplTest {
21     private static final Uint32 FIFTY_FIVE = Uint32.valueOf(55);
22
23     @Test
24     // We're testing equals()
25     @SuppressWarnings({"ObjectEqualsNull", "EqualsBetweenInconvertibleTypes"})
26     public void test() throws URISyntaxException {
27
28         // hashCode method test
29
30         BitImpl biA = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
31
32         assertEquals("biA should equals to itsefl", biA, biA);
33         assertFalse("biA shouldn't equal to null", biA.equals(null));
34         assertFalse("biA shouldn't equal to object of other type", biA.equals("str"));
35
36          // // test schemaPath
37         biA = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
38         BitImpl biB = new BitImpl("someNameB2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
39         assertFalse("biA shouldn't equal to biB", biA.equals(biB));
40
41         biA = new BitImpl("someNameB2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
42         biB = new BitImpl("someNameB2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
43         assertEquals("biA should equal to biB", biA, biB);
44
45         biA = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
46         biB = new BitImpl("someNameB2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
47         assertFalse("biA shouldn't equal to biB", biA.equals(biB));
48
49         biA = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
50         biB = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
51         assertEquals("biA should equal to biB", biA, biB);
52
53         biA = new BitImpl("someNameA2", FIFTY_FIVE, "description", "reference", Status.CURRENT, emptyList());
54
55         // test of getter methods
56         assertEquals("Incorrect value for qname.", "someNameA2", biA.getName());
57         assertEquals("Incorrect value for description.", Optional.of("description"), biA.getDescription());
58         assertEquals("Incorrect value for reference.", Optional.of("reference"), biA.getReference());
59         assertEquals("Incorrect value for status.", Status.CURRENT, biA.getStatus());
60         assertEquals("Incorrect value for unknown nodes.", emptyList(), biA.getUnknownSchemaNodes());
61
62         // test of toString method
63         assertEquals("toString method doesn't return correct value", "Bit[name=someNameA2, position=55]",
64                 biA.toString());
65     }
66 }