[ONOS-4348] Yang Bits, Binary and Decimal64
Change-Id: I8e4e54a19a8f9634cbc56a07579a1730174f53f6
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/BitListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/BitListenerTest.java
index 4b2b185..ef25c97 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/BitListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/BitListenerTest.java
@@ -35,7 +35,7 @@
import java.io.IOException;
import java.util.List;
import java.util.ListIterator;
-import java.util.Set;
+import java.util.Map;
/**
* Test cases for bit listener.
@@ -71,14 +71,38 @@
assertThat(((YangBits) leafInfo.getDataType().getDataTypeExtendedInfo()).getBitsName(),
is("mybits"));
- Set<YangBit> bitSet = ((YangBits) leafInfo.getDataType().getDataTypeExtendedInfo()).getBitSet();
- for (YangBit tmp : bitSet) {
- if (tmp.getBitName().equals("disable-nagle")) {
- assertThat(tmp.getPosition(), is(0));
- } else if (tmp.getBitName().equals("auto-sense-speed")) {
- assertThat(tmp.getPosition(), is(1));
- } else if (tmp.getBitName().equals("Ten-Mb-only")) {
- assertThat(tmp.getPosition(), is(2));
+ // Check bit name map
+ Map<String, YangBit> bitNameMap = ((YangBits) leafInfo.getDataType().getDataTypeExtendedInfo()).getBitNameMap();
+ assertThat(bitNameMap.size(), is(3));
+ for (Map.Entry<String, YangBit> element : bitNameMap.entrySet()) {
+ String bitName = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (bitName.equals("disable-nagle")) {
+ assertThat(yangBit.getPosition(), is(0));
+ } else if (bitName.equals("auto-sense-speed")) {
+ assertThat(yangBit.getPosition(), is(1));
+ } else if (bitName.equals("Ten-Mb-only")) {
+ assertThat(yangBit.getPosition(), is(2));
+ } else {
+ throw new IOException("Invalid bit name: " + bitName);
+ }
+ }
+
+ // Check bit position map
+ Map<Integer, YangBit> bitPositionMap = ((YangBits) leafInfo.getDataType().getDataTypeExtendedInfo())
+ .getBitPositionMap();
+ assertThat(bitPositionMap.size(), is(3));
+ for (Map.Entry<Integer, YangBit> element : bitPositionMap.entrySet()) {
+ int position = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (position == 0) {
+ assertThat(yangBit.getBitName(), is("disable-nagle"));
+ } else if (position == 1) {
+ assertThat(yangBit.getBitName(), is("auto-sense-speed"));
+ } else if (position == 2) {
+ assertThat(yangBit.getBitName(), is("Ten-Mb-only"));
+ } else {
+ throw new IOException("Invalid bit position: " + position);
}
}
}
@@ -107,12 +131,38 @@
YangType type = typedef.getTypeList().iterator().next();
assertThat(type.getDataType(), is(YangDataTypes.BITS));
assertThat(type.getDataTypeName(), is("bits"));
- Set<YangBit> bitSet = ((YangBits) type.getDataTypeExtendedInfo()).getBitSet();
- for (YangBit tmp : bitSet) {
- if (tmp.getBitName().equals("disable-nagle")) {
- assertThat(tmp.getPosition(), is(0));
- } else if (tmp.getBitName().equals("auto-sense-speed")) {
- assertThat(tmp.getPosition(), is(1));
+
+ // Check bit name map
+ Map<String, YangBit> bitNameMap = ((YangBits) type.getDataTypeExtendedInfo()).getBitNameMap();
+ assertThat(bitNameMap.size(), is(3));
+ for (Map.Entry<String, YangBit> element : bitNameMap.entrySet()) {
+ String bitName = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (bitName.equals("disable-nagle")) {
+ assertThat(yangBit.getPosition(), is(0));
+ } else if (bitName.equals("auto-sense-speed")) {
+ assertThat(yangBit.getPosition(), is(1));
+ } else if (bitName.equals("Mb-only")) {
+ assertThat(yangBit.getPosition(), is(2));
+ } else {
+ throw new IOException("Invalid bit name: " + bitName);
+ }
+ }
+
+ // Check bit position map
+ Map<Integer, YangBit> bitPositionMap = ((YangBits) type.getDataTypeExtendedInfo()).getBitPositionMap();
+ assertThat(bitPositionMap.size(), is(3));
+ for (Map.Entry<Integer, YangBit> element : bitPositionMap.entrySet()) {
+ int position = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (position == 0) {
+ assertThat(yangBit.getBitName(), is("disable-nagle"));
+ } else if (position == 1) {
+ assertThat(yangBit.getBitName(), is("auto-sense-speed"));
+ } else if (position == 2) {
+ assertThat(yangBit.getBitName(), is("Mb-only"));
+ } else {
+ throw new IOException("Invalid bit position: " + position);
}
}
}
@@ -151,12 +201,38 @@
assertThat(yangType.getDataType(), is(YangDataTypes.BITS));
assertThat(yangType.getDataTypeName(), is("bits"));
- Set<YangBit> bitSet = ((YangBits) yangType.getDataTypeExtendedInfo()).getBitSet();
- for (YangBit tmp : bitSet) {
- if (tmp.getBitName().equals("disable-nagle")) {
- assertThat(tmp.getPosition(), is(0));
- } else if (tmp.getBitName().equals("auto-sense-speed")) {
- assertThat(tmp.getPosition(), is(1));
+
+ // Check bit name map
+ Map<String, YangBit> bitNameMap = ((YangBits) yangType.getDataTypeExtendedInfo()).getBitNameMap();
+ assertThat(bitNameMap.size(), is(3));
+ for (Map.Entry<String, YangBit> element : bitNameMap.entrySet()) {
+ String bitName = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (bitName.equals("disable-nagle")) {
+ assertThat(yangBit.getPosition(), is(0));
+ } else if (bitName.equals("auto-sense-speed")) {
+ assertThat(yangBit.getPosition(), is(1));
+ } else if (bitName.equals("Mb-only")) {
+ assertThat(yangBit.getPosition(), is(2));
+ } else {
+ throw new IOException("Invalid bit name: " + bitName);
+ }
+ }
+
+ // Check bit position map
+ Map<Integer, YangBit> bitPositionMap = ((YangBits) yangType.getDataTypeExtendedInfo()).getBitPositionMap();
+ assertThat(bitPositionMap.size(), is(3));
+ for (Map.Entry<Integer, YangBit> element : bitPositionMap.entrySet()) {
+ int position = element.getKey();
+ YangBit yangBit = element.getValue();
+ if (position == 0) {
+ assertThat(yangBit.getBitName(), is("disable-nagle"));
+ } else if (position == 1) {
+ assertThat(yangBit.getBitName(), is("auto-sense-speed"));
+ } else if (position == 2) {
+ assertThat(yangBit.getBitName(), is("Mb-only"));
+ } else {
+ throw new IOException("Invalid bit position: " + position);
}
}
}