You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/06/06 05:48:13 UTC

svn commit: r411985 - /incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java

Author: smishura
Date: Mon Jun  5 20:48:12 2006
New Revision: 411985

URL: http://svn.apache.org/viewvc?rev=411985&view=rev
Log:
Refactoring test

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java?rev=411985&r1=411984&r2=411985&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/impl/java/org/apache/harmony/security/tests/asn1/der/BitStringTest.java Mon Jun  5 20:48:12 2006
@@ -21,17 +21,17 @@
 
 package org.apache.harmony.security.tests.asn1.der;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.Arrays;
 
+import junit.framework.TestCase;
+
+import org.apache.harmony.security.asn1.ASN1BitString;
 import org.apache.harmony.security.asn1.ASN1Exception;
 import org.apache.harmony.security.asn1.BitString;
 import org.apache.harmony.security.asn1.DerInputStream;
 import org.apache.harmony.security.asn1.DerOutputStream;
-
-import junit.framework.TestCase;
-
-import org.apache.harmony.security.asn1.ASN1BitString;
 import org.apache.harmony.security.asn1.ASN1BitString.ASN1NamedBitList;
 
 /**
@@ -46,26 +46,45 @@
         junit.textui.TestRunner.run(BitStringTest.class);
     }
 
-    private static Object[][] testcase = new Object[][] {
+    private static Object[][] validBitstring = new Object[][] {
     //bitstring array format: bitstring object/ byte array
-            // 0
-            new Object[] { new BitString(new byte[] {}, 0), // object 
+            //
+            { new BitString(new byte[] {}, 0), // object 
                     new byte[] { 0x03, 0x01, 0x00 } },
-            // 1 
-            new Object[] { new BitString(new byte[] { 0x05 }, 0), // object 
+            //
+            { new BitString(new byte[] { 0x05 }, 0), // object 
                     new byte[] { 0x03, 0x02, 0x00, 0x05 } },
-            // 2
-            new Object[] { new BitString(new byte[] { (byte) 0x80 }, 7), // object
+            //
+            { new BitString(new byte[] { (byte) 0x80 }, 7), // object
                     new byte[] { 0x03, 0x02, 0x07, (byte) 0x80 } } };
 
-    public void testDecode_Valid() throws IOException {
+    public void testDecode_Encode() throws IOException {
+
+        // decoder/encoder for testing
+        ASN1BitString asn1 = ASN1BitString.getInstance();
+
+        // decode from byte array
+        for (int i = 0; i < validBitstring.length; i++) {
+            DerInputStream in = new DerInputStream(
+                    (byte[]) validBitstring[i][1]);
+
+            BitString expected = (BitString) validBitstring[i][0];
+            BitString decoded = (BitString) asn1.decode(in);
+
+            assertEquals("Testcase: " + i, expected.unusedBits,
+                    decoded.unusedBits);
+
+            assertTrue("Testcase: " + i, Arrays.equals(expected.bytes,
+                    decoded.bytes));
+        }
 
-        for (int i = 0; i < testcase.length; i++) {
-            DerInputStream in = new DerInputStream((byte[]) testcase[i][1]);
+        // decode from input stream
+        for (int i = 0; i < validBitstring.length; i++) {
+            DerInputStream in = new DerInputStream(new ByteArrayInputStream(
+                    (byte[]) validBitstring[i][1]));
 
-            BitString expected = (BitString) testcase[i][0];
-            BitString decoded = (BitString) ASN1BitString.getInstance().decode(
-                    in);
+            BitString expected = (BitString) validBitstring[i][0];
+            BitString decoded = (BitString) asn1.decode(in);
 
             assertEquals("Testcase: " + i, expected.unusedBits,
                     decoded.unusedBits);
@@ -73,6 +92,14 @@
             assertTrue("Testcase: " + i, Arrays.equals(expected.bytes,
                     decoded.bytes));
         }
+
+        // encoding
+        for (int i = 0; i < validBitstring.length; i++) {
+            DerOutputStream out = new DerOutputStream(asn1,
+                    validBitstring[i][0]);
+            assertTrue("Testcase: " + i, Arrays.equals(
+                    (byte[]) validBitstring[i][1], out.encoded));
+        }
     }
 
     public void testDecode_Invalid() throws IOException {
@@ -100,16 +127,6 @@
         }
     }
 
-    public void testEncode() throws IOException {
-
-        for (int i = 0; i < testcase.length; i++) {
-            DerOutputStream out = new DerOutputStream(ASN1BitString
-                    .getInstance(), testcase[i][0]);
-            assertTrue("Testcase: " + i, Arrays.equals((byte[]) testcase[i][1],
-                    out.encoded));
-        }
-    }
-
     //
     //
     // Named Bit List
@@ -119,23 +136,23 @@
     public void testDecodeNamedBitList() throws IOException {
 
         Object[][] testcaseBoolean = new Object[][] {
-                //bitstring array format: bitstring object/ byte array
-                // 0
-                new Object[] { new boolean[] {}, // object 
+                // bitstring array format: bitstring object/ byte array
+                //
+                { new boolean[] {}, // object
                         new byte[] { 0x03, 0x01, 0x00 } },
-                // 1
-                new Object[] { new boolean[] { true }, // object 
+                //
+                { new boolean[] { true }, // object
                         new byte[] { 0x03, 0x02, 0x07, (byte) 0x80 } },
-                // 2 
-                new Object[] { new boolean[] { true, false, true }, // object 
+                // 
+                { new boolean[] { true, false, true }, // object
                         new byte[] { 0x03, 0x02, 0x05, (byte) 0xA0 } },
-                // 3
-                new Object[] {
+                //
+                {
                         new boolean[] { true, true, true, true, true, true,
                                 true, true }, // object
                         new byte[] { 0x03, 0x02, 0x00, (byte) 0xFF } },
-                // 4
-                new Object[] {
+                //
+                {
                         new boolean[] { false, false, false, false, false,
                                 false, false, false, true }, // object
                         new byte[] { 0x03, 0x03, 0x07, 0x00, (byte) 0x80 } } };
@@ -156,28 +173,28 @@
 
         Object[][] testcaseBoolean = new Object[][] {
                 //bitstring array format: bitstring object/ byte array
-                // 0
-                new Object[] {
+                //
+                {
                         new boolean[] { false, false, false, false, false,
-                                false, false, false }, // object 
+                                false, false, false }, // object
                         new byte[] { 0x03, 0x01, 0x00 } },
-                // 1
-                new Object[] {
+                //
+                {
                         new boolean[] { true, false, false, false, false,
-                                false, false, false }, // object 
+                                false, false, false }, // object
                         new byte[] { 0x03, 0x02, 0x07, (byte) 0x80 } },
-                // 2 
-                new Object[] {
+                // 
+                {
                         new boolean[] { true, false, true, false, false, false,
-                                false, false }, // object 
+                                false, false }, // object
                         new byte[] { 0x03, 0x02, 0x05, (byte) 0xA0 } },
-                // 3
-                new Object[] {
+                //
+                {
                         new boolean[] { true, true, true, true, true, true,
                                 true, true }, // object
                         new byte[] { 0x03, 0x02, 0x00, (byte) 0xFF } },
-                // 4
-                new Object[] {
+                //
+                {
                         new boolean[] { false, false, false, false, false,
                                 false, false, false, true }, // object
                         new byte[] { 0x03, 0x03, 0x07, 0x00, (byte) 0x80 } } };
@@ -198,25 +215,25 @@
 
         Object[][] testcaseBoolean = new Object[][] {
                 //bitstring array format: bitstring object/ byte array
-                // 0
-                new Object[] { new boolean[] {}, // object 
+                //
+                { new boolean[] {}, // object
                         new byte[] { 0x03, 0x01, 0x00 } },
-                // 1
-                new Object[] { new boolean[] { false }, // object 
+                //
+                { new boolean[] { false }, // object
                         new byte[] { 0x03, 0x01, 0x00 } },
-                // 2
-                new Object[] { new boolean[] { true }, // object 
+                //
+                { new boolean[] { true }, // object
                         new byte[] { 0x03, 0x02, 0x07, (byte) 0x80 } },
-                // 3 
-                new Object[] { new boolean[] { true, false, true }, // object 
+                // 
+                { new boolean[] { true, false, true }, // object
                         new byte[] { 0x03, 0x02, 0x05, (byte) 0xA0 } },
-                // 4
-                new Object[] {
+                //
+                {
                         new boolean[] { true, true, true, true, true, true,
                                 true, true }, // object
                         new byte[] { 0x03, 0x02, 0x00, (byte) 0xFF } },
-                // 5
-                new Object[] {
+                //
+                {
                         new boolean[] { false, false, false, false, false,
                                 false, false, false, true }, // object
                         new byte[] { 0x03, 0x03, 0x07, 0x00, (byte) 0x80 } } };