1   package com.generationjava.lang;
2   
3   import junit.framework.Test;
4   import junit.framework.TestCase;
5   import junit.framework.TestSuite;
6   import junit.textui.TestRunner;
7   
8   public class BinaryTest extends TestCase {
9   
10      public BinaryTest(String name) {
11          super(name);
12      }
13  
14      //-----------------------------------------------------------------------
15  
16      public void testNull() {
17          assertReflectivity(null);
18      }
19  
20      public void testEmpty() {
21          assertReflectivity("");
22      }
23  
24      public void testReflectivity() {
25          assertReflectivity("10101011");
26          assertReflectivity("00000000");
27          assertReflectivity("10000000");
28          assertReflectivity("111111111111");
29          assertReflectivity("000000000001");
30          assertReflectivity("1111");
31          assertReflectivity("0000");
32          assertReflectivity("0001");
33          assertReflectivity("1010");
34      }
35  
36      public void assertReflectivity(String str) {
37          byte[] ba = Binary.binaryStringToBytes( str );
38          assertEquals( str, Binary.bytesToBinaryString( ba ) );
39      }
40  
41      public void testBadString() {
42          try {
43              byte[] ba = Binary.binaryStringToBytes( "101010" );
44          } catch(IllegalArgumentException iae) {
45              assertEquals("String must be a factor of 4", iae.getMessage() );
46          }
47      }
48  
49  }