Add Uint saturated converters
[yangtools.git] / yang / yang-common / src / test / java / org / opendaylight / yangtools / yang / common / Uint16Test.java
index 17f7ec2976feeecdfb1982123881486ebeeda349..fc9f7a59fc03f1b6858839331cbd232f680be516 100644 (file)
@@ -33,6 +33,18 @@ public class Uint16Test {
         assertEquals(0, Uint16.valueOf("0").intValue());
     }
 
+    @Test
+    public void testSaturatedOf() {
+        assertEquals(127, Uint16.saturatedOf((byte) 127).byteValue());
+        assertEquals(127, Uint16.saturatedOf((short) 127).byteValue());
+        assertEquals(127, Uint16.saturatedOf(127).byteValue());
+        assertEquals(127, Uint16.saturatedOf(127L).byteValue());
+
+        assertEquals(255, Uint16.saturatedOf((short) 255).intValue());
+        assertEquals(255, Uint16.saturatedOf(255).intValue());
+        assertEquals(255L, Uint16.saturatedOf(255L).longValue());
+    }
+
     @Test
     public void testCompareTo() {
         final Uint16 five = Uint16.valueOf(5);
@@ -128,12 +140,20 @@ public class Uint16Test {
         assertThrows(IllegalArgumentException.class, () -> Uint16.valueOf((short)-1));
         assertThrows(IllegalArgumentException.class, () -> Uint16.valueOf(-1));
         assertThrows(IllegalArgumentException.class, () -> Uint16.valueOf(-1L));
+
+        assertEquals(Uint16.ZERO, Uint16.saturatedOf((byte)-1));
+        assertEquals(Uint16.ZERO, Uint16.saturatedOf((short)-1));
+        assertEquals(Uint16.ZERO, Uint16.saturatedOf(-1));
+        assertEquals(Uint16.ZERO, Uint16.saturatedOf(-1L));
     }
 
     @Test
     public void testLargeValues() {
         assertThrows(IllegalArgumentException.class, () -> Uint16.valueOf(65536));
         assertThrows(IllegalArgumentException.class, () -> Uint16.valueOf(65536L));
+
+        assertEquals(Uint16.MAX_VALUE, Uint16.saturatedOf(65536));
+        assertEquals(Uint16.MAX_VALUE, Uint16.saturatedOf(65536L));
     }
 
     @Test