From 60d69218642cc976fa606fd8a38623d8c035dd86 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Fri, 23 Sep 2016 16:39:09 +0200 Subject: HONEYCOMB-145 - Utility Class Refactoring problematic mockito-all changed to mockito-core( https://github.com/mockito/mockito/issues/324) Translate Utils Splitted to multiple Trait Interfaces Ipv4Translator - Logic for translation of ipv4-based data Ipv6Translator - Logic for translation of ipv6-based data MacTranslator - Logic for translation of mac-based data AddressTranslator - Aggregation trait for Ipv4/Ipv6/Mac JvppReplyConsumer - Logic for extracting replies from jvpp calls ByteDataTranslator - any byte-based conversions Plus some existing utility classes changed to traits Change-Id: I342b625954223966802e65dca0fabf8456c89345 Signed-off-by: Jan Srnicek --- .../translate/v3po/util/MacTranslatorTest.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/v3po/util/MacTranslatorTest.java (limited to 'vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/v3po/util/MacTranslatorTest.java') diff --git a/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/v3po/util/MacTranslatorTest.java b/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/v3po/util/MacTranslatorTest.java new file mode 100644 index 000000000..60444204e --- /dev/null +++ b/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/v3po/util/MacTranslatorTest.java @@ -0,0 +1,73 @@ +package io.fd.honeycomb.translate.v3po.util; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +public class MacTranslatorTest implements MacTranslator { + + @Test + public void testParseMac() throws Exception { + byte[] bytes = parseMac("00:fF:7f:15:5e:A9"); + assertMac(bytes); + } + + 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]); + } + + @Test(expected = IllegalArgumentException.class) + public void testParseMacLonger() throws Exception { + byte[] bytes = parseMac("00:fF:7f:15:5e:A9:88:77"); + assertMac(bytes); + } + + @Test(expected = IllegalArgumentException.class) + public void testParseMacShorter() throws Exception { + parseMac("00:fF:7f"); + } + + @Test(expected = IllegalArgumentException.class) + public void testParseRandomString() throws Exception { + parseMac("random{}}@$*&*!"); + } + + @Test(expected = NumberFormatException.class) + public void testParseMacNumberFormatEx() throws Exception { + parseMac("00:XX:7f:15:5e:77\""); + } + + @Test + public void testByteArrayToMacUnseparated() { + byte[] address = parseMac("aa:bb:cc:dd:ee:ff"); + + String converted = byteArrayToMacUnseparated(address); + + assertEquals("aabbccddeeff", converted); + } + + @Test + public void testByteArrayToMacSeparated() { + byte[] address = parseMac("aa:bb:cc:dd:ee:ff"); + + String converted = byteArrayToMacSeparated(address); + + assertEquals("aa:bb:cc:dd:ee:ff", converted); + } + + @Test(expected = IllegalArgumentException.class) + public void testByteArrayToMacUnseparatedIllegal() { + byteArrayToMacUnseparated(new byte[]{54, 26, 87, 32, 14}); + } + + @Test(expected = IllegalArgumentException.class) + public void testByteArrayToMacSeparatedIllegal() { + byteArrayToMacSeparated(new byte[]{54, 26, 87, 32, 14}); + } +} \ No newline at end of file -- cgit 1.2.3-korg