X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=model%2Fietf%2Fietf-type-util%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fmodel%2Fietf%2Futil%2FAbstractIetfYangUtilTest.java;h=e45c19f2c24308067d1e3a81944b24fa71904b9b;hb=refs%2Fchanges%2F64%2F86764%2F1;hp=6faeebe787eb5435f85ae65e3297ac3a8708dd4c;hpb=be97010a32253ce4fb5c1be4c5c7eb003c2e9f8e;p=mdsal.git diff --git a/model/ietf/ietf-type-util/src/test/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfYangUtilTest.java b/model/ietf/ietf-type-util/src/test/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfYangUtilTest.java index 6faeebe787..e45c19f2c2 100644 --- a/model/ietf/ietf-type-util/src/test/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfYangUtilTest.java +++ b/model/ietf/ietf-type-util/src/test/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfYangUtilTest.java @@ -5,55 +5,99 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.mdsal.model.ietf.util; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import com.google.common.base.Preconditions; -import java.util.Arrays; +import static org.junit.Assert.fail; + +import java.util.UUID; import org.junit.Test; public class AbstractIetfYangUtilTest { - public static final class MacClass { - final String _value; + private static final MacUtil UTIL = new MacUtil(); + private static final byte[] BYTES = new byte[] { 1, 2, 30, 90, -5, -120 }; + private static final String CANON = "01:02:1e:5a:fb:88"; + + @Test + public void testBytesToMac() throws Exception { + final MacClass mac = UTIL.macAddressFor(BYTES); + assertEquals(CANON, mac.getValue()); + } - public MacClass(final String value) { - this._value = Preconditions.checkNotNull(value); - } + @Test + public void testMacToBytes() throws Exception { + final byte[] bytes1 = UTIL.macAddressBytes(new MacClass(CANON)); + assertArrayEquals(BYTES, bytes1); - public MacClass(final MacClass template) { - this._value = template._value; - } + final byte[] bytes2 = UTIL.macAddressBytes(new MacClass("01:02:1E:5a:Fb:88")); + assertArrayEquals(BYTES, bytes2); } - private static final class MacUtil extends AbstractIetfYangUtil { - MacUtil() { - super(MacClass.class); - } + @Test + public void testBytesToHex() { + final HexClass hex = UTIL.hexStringFor(BYTES); + assertEquals(CANON, hex.getValue()); + } + + @Test + public void testHexToBytes() { + final byte[] bytes1 = UTIL.hexStringBytes(new HexClass(CANON)); + assertArrayEquals(BYTES, bytes1); - @Override - protected String getValue(final MacClass macAddress) { - return macAddress._value; - } + final byte[] bytes2 = UTIL.hexStringBytes(new HexClass("01:02:1E:5a:Fb:88")); + assertArrayEquals(BYTES, bytes2); } - private static final MacUtil UTIL = new MacUtil(); - private static final byte[] BYTES = new byte[] { 1, 2, 30, 90, -5, -120 }; - private static final String CANON = "01:02:1e:5a:fb:88"; + @Test + public void testPhysToBytes() { + final byte[] bytes1 = UTIL.physAddressBytes(new PhysClass(CANON)); + assertArrayEquals(BYTES, bytes1); + + final byte[] bytes2 = UTIL.physAddressBytes(new PhysClass("01:02:1E:5a:Fb:88")); + assertArrayEquals(BYTES, bytes2); + + assertArrayEquals(new byte[0], UTIL.physAddressBytes(new PhysClass(""))); + assertArrayEquals(new byte[] { (byte) 0xaa }, UTIL.physAddressBytes(new PhysClass("aa"))); + assertArrayEquals(new byte[] { (byte) 0xaa, (byte) 0xbb }, UTIL.physAddressBytes(new PhysClass("aa:bb"))); + } @Test - public void testBytesToMac() { - final MacClass mac = UTIL.macAddressFor(BYTES); - assertEquals(CANON, mac._value); + public void testQuadBits() { + assertEquals(0x01020304, UTIL.dottedQuadBits(new QuadClass("1.2.3.4"))); + assertEquals(0xFFFFFFFF, UTIL.dottedQuadBits(new QuadClass("255.255.255.255"))); } @Test - public void testMacToBytes() { - final byte[] bytes1 = UTIL.bytesFor(new MacClass(CANON)); - assertTrue(Arrays.equals(BYTES, bytes1)); + public void testQuadBytes() { + assertArrayEquals(new byte[] { 1, 2, 3, 4 }, UTIL.dottedQuadBytes(new QuadClass("1.2.3.4"))); + } + + @Test + public void testQuadForBits() { + assertEquals("1.2.3.4", UTIL.dottedQuadFor(0x01020304).getValue()); + assertEquals("255.255.255.255", UTIL.dottedQuadFor(0xFFFFFFFF).getValue()); + } + + @Test + public void testQuadForBytes() { + assertEquals("1.2.3.4", UTIL.dottedQuadFor(new byte[] { 1, 2, 3, 4 }).getValue()); + } + + @Test + public void testUuidFor() { + final UUID uuid = UUID.fromString("f81d4fae-7dec-11d0-a765-00a0c91e6bf6"); + assertEquals("f81d4fae-7dec-11d0-a765-00a0c91e6bf6", UTIL.uuidFor(uuid).getValue()); + } + + @Test + public void canonizeMACTest() throws Exception { + assertEquals(CANON, UTIL.canonizeMacAddress(new MacClass("01:02:1E:5A:FB:88")).getValue()); + } - final byte[] bytes2 = UTIL.bytesFor(new MacClass("01:02:1E:5a:Fb:88")); - assertTrue(Arrays.equals(BYTES, bytes2)); + @Test(expected = IllegalArgumentException.class) + public void hexValueWithExceptionTest() throws Exception { + AbstractIetfYangUtil.hexValue(Character.highSurrogate(1000)); + fail("Expected invalid character exception"); } }