You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jm...@apache.org on 2018/02/20 02:29:43 UTC

[incubator-plc4x] branch master updated: add unit test for ByteValue

This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/master by this push:
     new 1339553  add unit test for ByteValue
1339553 is described below

commit 13395537ed8ac16b0f4fb5420e47e398fccc1a6e
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Tue Feb 20 13:29:28 2018 +1100

    add unit test for ByteValue
---
 .../plc4x/java/ads/api/util/ByteValueTest.java     | 104 +++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java
new file mode 100644
index 0000000..3a8b7b8
--- /dev/null
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java
@@ -0,0 +1,104 @@
+package org.apache.plc4x.java.ads.api.util;
+
+import io.netty.buffer.ByteBuf;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.math.BigInteger;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.junit.Assert.*;
+
+public class ByteValueTest {
+
+    private ByteValue byteValue;
+    private long upperBound = (long) Math.pow( 2, (8 * 4));
+
+    @Before
+    public void setUp() throws Exception {
+        byteValue = new ByteValue((byte)0x1, (byte)0x2,(byte) 0x3, (byte)0x4);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        byteValue = null;
+    }
+
+    @Test
+    public void assertCorrectLength() {
+        byteValue.assertLength(4); // no exception
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void assertCorrectLengthException() {
+        byteValue.assertLength(3);
+    }
+
+    @Test
+    public void checkUnsignedBoundsLong() {
+        ByteValue.checkUnsignedBounds(0, 4);
+        ByteValue.checkUnsignedBounds(upperBound-1, 4);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void checkUnsignedBoundsLongNegative() {
+        ByteValue.checkUnsignedBounds(-1, 4);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void checkUnsignedBoundsLongTooBig() {
+        ByteValue.checkUnsignedBounds(upperBound, 4);
+    }
+
+    @Test
+    public void checkUnsignedBoundsBig() {
+        ByteValue.checkUnsignedBounds(new BigInteger("0"), 4);
+        ByteValue.checkUnsignedBounds(new BigInteger(Long.toString(upperBound-1)), 4);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void checkUnsignedBoundsBigNegative() {
+        ByteValue.checkUnsignedBounds(new BigInteger("-1"), 4);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void checkUnsignedBoundsBigTooBig() {
+        ByteValue.checkUnsignedBounds(new BigInteger(Long.toString(upperBound)), 4);
+    }
+
+    @Test
+    public void getBytes() {
+        byte[] correct = {(byte)0x1, (byte)0x2, (byte)0x3, (byte)0x4};
+        assertThat(byteValue.getBytes(), is(correct));
+    }
+
+    @Test
+    public void getByteBuf() {
+        byte[] correct = {(byte)0x1, (byte)0x2, (byte)0x3, (byte)0x4};
+        ByteBuf data = byteValue.getByteBuf();
+
+        assertThat(data.readableBytes(), is(4));
+        assertThat(data.readByte(), is((byte)0x1));
+        assertThat(data.readByte(), is((byte)0x2));
+        assertThat(data.readByte(), is((byte)0x3));
+        assertThat(data.readByte(), is((byte)0x4));
+    }
+
+    @Test
+    public void equals() {
+        ByteValue a = new ByteValue(((byte)0x1));
+        ByteValue b = new ByteValue(((byte)0x1));
+        ByteValue c = new ByteValue(((byte)0x2));
+        byte array[] = {(byte)0x1};
+
+        assertThat(a.equals(a), is(true));
+        assertThat(a.equals(b), is(true));
+        assertThat(a.equals(c), is(false));
+        assertThat(a.equals(1), is(false));
+        assertThat(a.equals((byte)1), is(false));
+        assertThat(a.equals(array), is(false));
+    }
+    
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
jmclean@apache.org.