summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java
diff options
context:
space:
mode:
authorMaros Marsalek <mmarsale@cisco.com>2016-11-10 13:31:25 +0100
committerMarek Gradzki <mgradzki@cisco.com>2016-11-19 21:29:39 +0100
commit175197da8ea43335df3daeba4c6296fcd83a057c (patch)
tree110298a990c6191933c2ad65d1a06333bab76cee /vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java
parent1813bf59fa53e8eb913d34b212d45b227dead799 (diff)
Post split cleanup
- change groupIds - change packages - update poms Change-Id: I343c5a292a67de1dd50687870ca4ab5b7276e93e Signed-off-by: Maros Marsalek <mmarsale@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java')
-rw-r--r--vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java90
1 files changed, 90 insertions, 0 deletions
diff --git a/vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java b/vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java
new file mode 100644
index 000000000..f716b0f0a
--- /dev/null
+++ b/vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/MacTranslatorTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.hc2vpp.common.translate.util;
+
+import static org.junit.Assert.assertEquals;
+
+import io.fd.hc2vpp.common.translate.util.MacTranslator;
+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