diff options
Diffstat (limited to 'v3po/vpp-translate-utils')
2 files changed, 40 insertions, 13 deletions
diff --git a/v3po/vpp-translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtils.java b/v3po/vpp-translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtils.java index f14b2eb6d..b13dbb4fe 100644 --- a/v3po/vpp-translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtils.java +++ b/v3po/vpp-translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtils.java @@ -129,4 +129,20 @@ public final class TranslateUtils { public static byte booleanToByte(@Nullable final Boolean value) { return value != null && value ? (byte) 1 : (byte) 0; } + + /** + * Returns Boolean.TRUE if argument is 0, Boolean.FALSE otherwise. + * @param value byte value to be converted + * @return Boolean value + * @throws IllegalArgumentException if argument is neither 0 nor 1 + */ + @Nonnull + public static Boolean byteToBoolean(final byte value) { + if (value == 0) { + return Boolean.FALSE; + } else if (value == 1) { + return Boolean.TRUE; + } + throw new IllegalArgumentException(String.format("0 or 1 was expected but was %d", value)); + } } diff --git a/v3po/vpp-translate-utils/src/test/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtilsTest.java b/v3po/vpp-translate-utils/src/test/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtilsTest.java index a3c37bade..0a851e8c4 100644 --- a/v3po/vpp-translate-utils/src/test/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtilsTest.java +++ b/v3po/vpp-translate-utils/src/test/java/io/fd/honeycomb/v3po/translate/v3po/util/TranslateUtilsTest.java @@ -3,7 +3,6 @@ package io.fd.honeycomb.v3po.translate.v3po.util; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; -import io.fd.honeycomb.v3po.translate.v3po.util.TranslateUtils; import org.junit.Test; public class TranslateUtilsTest { @@ -11,7 +10,7 @@ public class TranslateUtilsTest { @Test public void testToString() { final byte[] expected = "test".getBytes(); - final byte[] cString = new byte[expected.length+10]; + final byte[] cString = new byte[expected.length + 10]; System.arraycopy(expected, 0, cString, 0, expected.length); final String jString = TranslateUtils.toString(cString); assertArrayEquals(expected, jString.getBytes()); @@ -25,12 +24,12 @@ public class TranslateUtilsTest { private void assertMac(final byte[] bytes) { assertEquals(6, bytes.length); - assertEquals((byte)0, bytes[0]); - assertEquals((byte)255, bytes[1]); - assertEquals((byte)127, bytes[2]); - assertEquals((byte)21, bytes[3]); - assertEquals((byte)94, bytes[4]); - assertEquals((byte)169, bytes[5]); + assertEquals((byte) 0, bytes[0]); + assertEquals((byte) 255, bytes[1]); + assertEquals((byte) 127, bytes[2]); + assertEquals((byte) 21, bytes[3]); + assertEquals((byte) 94, bytes[4]); + assertEquals((byte) 169, bytes[5]); } @Test(expected = IllegalArgumentException.class) @@ -54,9 +53,21 @@ public class TranslateUtilsTest { TranslateUtils.parseMac("00:XX:7f:15:5e:77\""); } - public void testBooleanToByte() { - assertEquals(0, TranslateUtils.booleanToByte(null)); - assertEquals(0, TranslateUtils.booleanToByte(false)); - assertEquals(1, TranslateUtils.booleanToByte(true)); - } + @Test + public void testBooleanToByte() { + assertEquals(0, TranslateUtils.booleanToByte(null)); + assertEquals(0, TranslateUtils.booleanToByte(false)); + assertEquals(1, TranslateUtils.booleanToByte(true)); + } + + @Test + public void testByteToBoolean() { + assertEquals(Boolean.FALSE, TranslateUtils.byteToBoolean((byte) 0)); + assertEquals(Boolean.TRUE, TranslateUtils.byteToBoolean((byte) 1)); + } + + @Test(expected = IllegalArgumentException.class) + public void testByteToBooleanFailed() { + TranslateUtils.byteToBoolean((byte) 123); + } }
\ No newline at end of file |