1 package org.opendaylight.yangtools.yang.parser.util;
3 import static org.junit.Assert.*;
6 import java.net.URISyntaxException;
7 import java.util.ArrayList;
11 import org.junit.Test;
12 import org.opendaylight.yangtools.yang.common.QName;
13 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
14 import org.opendaylight.yangtools.yang.model.api.Status;
15 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
16 import org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder;
17 import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
19 public class BitImplTest {
24 // hashCode method test
31 boolean urisInitiallized = false;
33 uriA = new URI("some:uriA");
34 uriA1 = new URI("some:uriA1");
35 uriA2 = new URI("some:uriA2");
36 uriB = new URI("some:uriB");
37 uriB1 = new URI("some:uriB1");
38 uriB2 = new URI("some:uriB2");
39 urisInitiallized = true;
41 } catch (URISyntaxException e) {
43 assertTrue("Not all required uri variables were instantiated.", urisInitiallized);
46 QName qnameA = new QName(uriA, new Date(5000000), "some name");
48 QName qnameA1 = new QName(uriA1, new Date(6000000), "some nameA1");
49 QName qnameA2 = new QName(uriA2, new Date(7000000), "some nameA2");
50 List<QName> qnamesA = new ArrayList<>();
53 SchemaPath schemaPathA = new SchemaPath(qnamesA, true);
55 QName qnameB = new QName(uriB, new Date(5000000), "some name");
57 QName qnameB1 = new QName(uriB1, new Date(6000000), "some nameB1");
58 QName qnameB2 = new QName(uriB2, new Date(7000000), "some nameB2");
59 List<QName> qnamesB = new ArrayList<>();
62 SchemaPath schemaPathB = new SchemaPath(qnamesB, true);
65 BitImpl biA = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, null);
67 assertEquals("biA should equals to itsefl", biA, biA);
68 assertFalse("biA shouldn't equal to null", biA.equals(null));
69 assertFalse("biA shouldn't equal to object of other type", biA.equals(new String("str")));
71 // test of equals method
73 biA = new BitImpl(55L, null, schemaPathA, "description", "reference", Status.CURRENT, null);
74 biB = new BitImpl(55L, qnameB, schemaPathA, "description", "reference", Status.CURRENT, null);
75 assertFalse("biA shouldn't equal to biB", biA.equals(biB));
77 biA = new BitImpl(55L, qnameB, schemaPathA, "description", "reference", Status.CURRENT, null);
78 biB = new BitImpl(55L, qnameB, schemaPathA, "description", "reference", Status.CURRENT, null);
79 assertEquals("biA should equal to biB", biA, biB);
81 biA = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, null);
82 biB = new BitImpl(55L, qnameB, schemaPathA, "description", "reference", Status.CURRENT, null);
83 assertFalse("biA shouldn't equal to biB", biA.equals(biB));
86 biA = new BitImpl(55L, qnameA, null, "description", "reference", Status.CURRENT, null);
87 biB = new BitImpl(55L, qnameA, schemaPathB, "description", "reference", Status.CURRENT, null);
88 assertFalse("biA shouldn't equal to biB", biA.equals(biB));
90 biA = new BitImpl(55L, qnameA, schemaPathB, "description", "reference", Status.CURRENT, null);
91 biB = new BitImpl(55L, qnameA, schemaPathB, "description", "reference", Status.CURRENT, null);
92 assertEquals("biA should equal to biB", biA, biB);
94 biA = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, null);
95 biB = new BitImpl(55L, qnameA, schemaPathB, "description", "reference", Status.CURRENT, null);
96 assertFalse("biA shouldn't equal to biB", biA.equals(biB));
98 biA = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, null);
99 biB = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, null);
100 assertEquals("biA should equal to biB", biA, biB);
102 // test of hashCode method
103 biA = new BitImpl(null, null, null, "description", "reference", Status.CURRENT, null);
104 assertEquals("Incorrect hash code for biA.", 923522, biA.hashCode());
106 List<UnknownSchemaNode> unknownNodes = new ArrayList<>();
107 UnknownSchemaNodeBuilder usnb = new UnknownSchemaNodeBuilder("module", 3, qnameB);
108 ModuleBuilder parent = org.mockito.Mockito.mock(ModuleBuilder.class);
109 usnb.setParent(parent);
111 unknownNodes.add(usnb.build(null));
113 biA = new BitImpl(55L, qnameA, schemaPathA, "description", "reference", Status.CURRENT, unknownNodes);
115 // test of getter methods
116 assertEquals("Incorrect value for qname.", qnameA, biA.getQName());
117 assertEquals("Incorrect value for schema path.", schemaPathA, biA.getPath());
118 assertEquals("Incorrect value for description.", "description", biA.getDescription());
119 assertEquals("Incorrect value for reference.", "reference", biA.getReference());
120 assertEquals("Incorrect value for status.", Status.CURRENT, biA.getStatus());
121 assertEquals("Incorrect value for unknown nodes.", unknownNodes, biA.getUnknownSchemaNodes());
123 // test of toString method
124 assertEquals("toString method doesn't return correct value", "Bit[name=some name, position=55]", biA.toString());