From 6ecc7c805df718b2093cd8639cf0bbf5e52054cc Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Wed, 24 Nov 2021 17:01:50 +0100 Subject: more tests removed unused classes --- .../org/uic/barcode/asn1/test/GenAlphabet.java | 11 +++ .../barcode/asn1/test/UperEncodeBitStringTest.java | 27 +++---- .../test/UperEncodeStringCustomAlphabetTest.java | 82 ++++++++++++++++++++++ .../asn1/test/UperEncodeVarBitStringTest.java | 81 +++++++++++++++++++++ 4 files changed, 188 insertions(+), 13 deletions(-) create mode 100644 src/test/java/org/uic/barcode/asn1/test/GenAlphabet.java create mode 100644 src/test/java/org/uic/barcode/asn1/test/UperEncodeStringCustomAlphabetTest.java create mode 100644 src/test/java/org/uic/barcode/asn1/test/UperEncodeVarBitStringTest.java (limited to 'src/test') diff --git a/src/test/java/org/uic/barcode/asn1/test/GenAlphabet.java b/src/test/java/org/uic/barcode/asn1/test/GenAlphabet.java new file mode 100644 index 0000000..a08392e --- /dev/null +++ b/src/test/java/org/uic/barcode/asn1/test/GenAlphabet.java @@ -0,0 +1,11 @@ +package org.uic.barcode.asn1.test; + +import org.uic.barcode.asn1.datatypes.Alphabet; + +public class GenAlphabet extends Alphabet { + + public GenAlphabet() { + super("ACGT"); + } + +} diff --git a/src/test/java/org/uic/barcode/asn1/test/UperEncodeBitStringTest.java b/src/test/java/org/uic/barcode/asn1/test/UperEncodeBitStringTest.java index 574a9cf..94f29c2 100644 --- a/src/test/java/org/uic/barcode/asn1/test/UperEncodeBitStringTest.java +++ b/src/test/java/org/uic/barcode/asn1/test/UperEncodeBitStringTest.java @@ -3,13 +3,13 @@ package org.uic.barcode.asn1.test; import static org.junit.Assert.assertEquals; import java.util.ArrayList; -import java.util.List; import java.util.logging.Level; import org.junit.Test; import org.uic.barcode.asn1.datatypes.Asn1Optional; -import org.uic.barcode.asn1.datatypes.Asn1VarSizeBitstring; +import org.uic.barcode.asn1.datatypes.Bitstring; import org.uic.barcode.asn1.datatypes.FieldOrder; +import org.uic.barcode.asn1.datatypes.FixedSize; import org.uic.barcode.asn1.datatypes.Sequence; import org.uic.barcode.asn1.uper.UperEncoder; @@ -22,7 +22,7 @@ public class UperEncodeBitStringTest { World-Schema DEFINITIONS AUTOMATIC TAGS ::= BEGIN TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE { - value BIT STRING OPTIONAL, + value BIT STRING (SIZE(3)) OPTIONAL } END @@ -39,19 +39,20 @@ public class UperEncodeBitStringTest { public static class TestRecord { @FieldOrder(order = 0) - @Asn1Optional() Asn1VarSizeBitstring value; + @Asn1Optional() + @Bitstring() + @FixedSize(3) + ArrayList booleans = null; public TestRecord() { this(false,false,true); } public TestRecord(Boolean value1,Boolean value2,Boolean value3 ) { - List booleans = new ArrayList(); + booleans = new ArrayList(); booleans.add(value1); booleans.add(value2); - booleans.add(value3); - this.value = new Asn1VarSizeBitstring(booleans); - + booleans.add(value3); } } @@ -61,7 +62,7 @@ public class UperEncodeBitStringTest { byte[] encoded = UperEncoder.encode(record); String hex = UperEncoder.hexStringFromBytes(encoded); UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); - assertEquals("8190",hex); + assertEquals("90",hex); } @@ -70,11 +71,11 @@ public class UperEncodeBitStringTest { byte[] encoded = UperEncoder.encode(record); String hex = UperEncoder.hexStringFromBytes(encoded); UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); - assertEquals("8190",hex); + assertEquals("90",hex); TestRecord result = UperEncoder.decode(encoded, TestRecord.class); - assertEquals(result.value.get(0),record.value.get(0)); - assertEquals(result.value.get(1),record.value.get(1)); - assertEquals(result.value.get(2),record.value.get(2)); + assertEquals(result.booleans.get(0),record.booleans.get(0)); + assertEquals(result.booleans.get(1),record.booleans.get(1)); + assertEquals(result.booleans.get(2),record.booleans.get(2)); } diff --git a/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringCustomAlphabetTest.java b/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringCustomAlphabetTest.java new file mode 100644 index 0000000..03b8bac --- /dev/null +++ b/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringCustomAlphabetTest.java @@ -0,0 +1,82 @@ +package org.uic.barcode.asn1.test; + +import static org.junit.Assert.assertEquals; + +import java.util.logging.Level; + +import org.junit.Test; +import org.uic.barcode.asn1.datatypes.Asn1Optional; +import org.uic.barcode.asn1.datatypes.CharacterRestriction; +import org.uic.barcode.asn1.datatypes.FieldOrder; +import org.uic.barcode.asn1.datatypes.RestrictedString; +import org.uic.barcode.asn1.datatypes.Sequence; +import org.uic.barcode.asn1.uper.UperEncoder; + + +public class UperEncodeStringCustomAlphabetTest { + + /** + * Example from the Standard on UPER. +
+        World-Schema DEFINITIONS AUTOMATIC TAGS ::= 
+        BEGIN
+        TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+            value1 PrintableString ( FROM ("ACGT") ) OPTIONAL,
+            value2 PrintableString ( FROM ("ACGT") ) OPTIONAL
+         }                                   
+        END
+        
+        rec1value TestRecord ::= {
+          value1 "ACGT",
+          value2 "ACTGCATCGA"
+        }
+    
+ */ + @Sequence + public static class TestRecord { + + @FieldOrder(order = 0) + @RestrictedString(value = CharacterRestriction.VisibleString, alphabet = GenAlphabet.class) + @Asn1Optional() String value1; + + @FieldOrder(order = 1) + @RestrictedString(value = CharacterRestriction.VisibleString, alphabet = GenAlphabet.class) + @Asn1Optional() String value2; + + public TestRecord() { + } + + public TestRecord(String v1, String v2) { + this.value1 = v1; + this.value2 = v2; + } + } + + + @Test public void testEncode() throws IllegalArgumentException, IllegalAccessException { + + + TestRecord record = new TestRecord("ACGT", "ACTGCATCGA"); + byte[] encoded = UperEncoder.encode(record); + String hex = UperEncoder.hexStringFromBytes(encoded); + UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); + assertEquals("C106C2879360",hex); + + } + + + @Test public void testDecode() throws IllegalArgumentException, IllegalAccessException { + + TestRecord record = new TestRecord("ACGT", "ACTGCATCGA"); + byte[] encoded = UperEncoder.encode(record); + String hex = UperEncoder.hexStringFromBytes(encoded); + UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); + assertEquals("C106C2879360",hex); + TestRecord result = UperEncoder.decode(encoded, TestRecord.class); + assertEquals(result.value1,record.value1); + assertEquals(result.value2,record.value2); + } + + + +} diff --git a/src/test/java/org/uic/barcode/asn1/test/UperEncodeVarBitStringTest.java b/src/test/java/org/uic/barcode/asn1/test/UperEncodeVarBitStringTest.java new file mode 100644 index 0000000..d6212e2 --- /dev/null +++ b/src/test/java/org/uic/barcode/asn1/test/UperEncodeVarBitStringTest.java @@ -0,0 +1,81 @@ +package org.uic.barcode.asn1.test; + +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; + +import org.junit.Test; +import org.uic.barcode.asn1.datatypes.Asn1Optional; +import org.uic.barcode.asn1.datatypes.Asn1VarSizeBitstring; +import org.uic.barcode.asn1.datatypes.FieldOrder; +import org.uic.barcode.asn1.datatypes.Sequence; +import org.uic.barcode.asn1.uper.UperEncoder; + + +public class UperEncodeVarBitStringTest { + + /** + * Example from the Standard on UPER. +
+         World-Schema DEFINITIONS AUTOMATIC TAGS ::= 
+         BEGIN
+         TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+            value BIT STRING OPTIONAL,
+         }
+         END
+         
+         
+         rec1value TestRecord ::= {
+             value '001'B
+         }
+    
+ + + + */ + @Sequence + public static class TestRecord { + + @FieldOrder(order = 0) + @Asn1Optional() Asn1VarSizeBitstring value; + + public TestRecord() { + this(false,false,true); + } + + public TestRecord(Boolean value1,Boolean value2,Boolean value3 ) { + List booleans = new ArrayList(); + booleans.add(value1); + booleans.add(value2); + booleans.add(value3); + this.value = new Asn1VarSizeBitstring(booleans); + + } + } + + + @Test public void testEncode() throws IllegalArgumentException, IllegalAccessException { + TestRecord record = new TestRecord(false,false,true); + byte[] encoded = UperEncoder.encode(record); + String hex = UperEncoder.hexStringFromBytes(encoded); + UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); + assertEquals("8190",hex); + } + + + @Test public void testDecode() throws IllegalArgumentException, IllegalAccessException { + TestRecord record = new TestRecord(false,false,true); + byte[] encoded = UperEncoder.encode(record); + String hex = UperEncoder.hexStringFromBytes(encoded); + UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); + assertEquals("8190",hex); + TestRecord result = UperEncoder.decode(encoded, TestRecord.class); + assertEquals(result.value.get(0),record.value.get(0)); + assertEquals(result.value.get(1),record.value.get(1)); + assertEquals(result.value.get(2),record.value.get(2)); + + } + +} -- cgit v1.2.3