You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2009/07/28 09:53:11 UTC

svn commit: r798433 - in /commons/proper/codec/trunk/src: java/org/apache/commons/codec/binary/BinaryCodec.java test/org/apache/commons/codec/binary/BinaryCodecTest.java

Author: ggregory
Date: Tue Jul 28 07:53:10 2009
New Revision: 798433

URL: http://svn.apache.org/viewvc?rev=798433&view=rev
Log:
Refactor common checks in a method and bring code coverage to 100%/100% line/branch.

Modified:
    commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/BinaryCodec.java
    commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/BinaryCodecTest.java

Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/BinaryCodec.java
URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/BinaryCodec.java?rev=798433&r1=798432&r2=798433&view=diff
==============================================================================
--- commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/BinaryCodec.java (original)
+++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/BinaryCodec.java Tue Jul 28 07:53:10 2009
@@ -191,7 +191,7 @@
      * @return the raw encoded binary where each bit corresponds to a byte in the byte array argument
      */
     public static byte[] fromAscii(byte[] ascii) {
-        if (ascii == null || ascii.length == 0) {
+        if (isEmpty(ascii)) {
             return EMPTY_BYTE_ARRAY;
         }
         // get length/8 times bytes with 3 bit shifts to the right of the length
@@ -211,6 +211,17 @@
     }
 
     /**
+     * Returns <code>true</code> if the given array is <code>null</code> or empty (size 0.)
+     * 
+     * @param array
+     *            the source array
+     * @return <code>true</code> if the given array is <code>null</code> or empty (size 0.)
+     */
+    private static boolean isEmpty(byte[] array) {
+        return array == null || array.length == 0;
+    }
+
+    /**
      * Converts an array of raw binary data into an array of ASCII 0 and 1 character bytes - each byte is a truncated
      * char.
      * 
@@ -220,7 +231,7 @@
      * @see org.apache.commons.codec.BinaryEncoder#encode(byte[])
      */
     public static byte[] toAsciiBytes(byte[] raw) {
-        if (raw == null || raw.length == 0) {
+        if (isEmpty(raw)) {
             return EMPTY_BYTE_ARRAY;
         }
         // get 8 times the bytes with 3 bit shifts to the left of the length
@@ -250,7 +261,7 @@
      * @see org.apache.commons.codec.BinaryEncoder#encode(byte[])
      */
     public static char[] toAsciiChars(byte[] raw) {
-        if (raw == null || raw.length == 0) {
+        if (isEmpty(raw)) {
             return EMPTY_CHAR_ARRAY;
         }
         // get 8 times the bytes with 3 bit shifts to the left of the length

Modified: commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/BinaryCodecTest.java
URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/BinaryCodecTest.java?rev=798433&r1=798432&r2=798433&view=diff
==============================================================================
--- commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/BinaryCodecTest.java (original)
+++ commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/BinaryCodecTest.java Tue Jul 28 07:53:10 2009
@@ -179,9 +179,9 @@
      * Utility used to assert the encoded and decoded values.
      * 
      * @param bits
-     *                  the pre-encoded data
+     *            the pre-encoded data
      * @param encodeMe
-     *                  data to encode and compare
+     *            data to encode and compare
      */
     void assertDecodeObject(byte[] bits, String encodeMe) throws DecoderException {
         byte[] decoded;
@@ -204,7 +204,7 @@
     /*
      * Tests for byte[] decode(byte[])
      */
-    public void testDecodebyteArray() {
+    public void testDecodeByteArray() {
         // With a single raw binary
         byte[] bits = new byte[1];
         byte[] decoded = instance.decode("00000000".getBytes());
@@ -389,7 +389,9 @@
     /*
      * Tests for byte[] fromAscii(char[])
      */
-    public void testFromAsciicharArray() {
+    public void testFromAsciiCharArray() {
+        assertEquals(0, BinaryCodec.fromAscii((char[]) null).length);
+        assertEquals(0, BinaryCodec.fromAscii(new char[0]).length);
         // With a single raw binary
         byte[] bits = new byte[1];
         byte[] decoded = BinaryCodec.fromAscii("00000000".toCharArray());
@@ -482,7 +484,9 @@
     /*
      * Tests for byte[] fromAscii(byte[])
      */
-    public void testFromAsciibyteArray() {
+    public void testFromAsciiByteArray() {
+        assertEquals(0, BinaryCodec.fromAscii((byte[]) null).length);
+        assertEquals(0, BinaryCodec.fromAscii(new byte[0]).length);
         // With a single raw binary
         byte[] bits = new byte[1];
         byte[] decoded = BinaryCodec.fromAscii("00000000".getBytes());
@@ -575,7 +579,7 @@
     /*
      * Tests for byte[] encode(byte[])
      */
-    public void testEncodebyteArray() {
+    public void testEncodeByteArray() {
         // With a single raw binary
         byte[] bits = new byte[1];
         String l_encoded = new String(instance.encode(bits));