mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
12.06.2014 af226b820c4f28ad465048cc8636341604927fcc
OPENDJ-1591 (CR-5206) Switch to SDK matching rules

After r11260 some code cleanup can be performed.

ByteSequence.java:
Added BYTE_ARRAY_COMPARATOR.

Added tests
3 files modified
60 ■■■■ changed files
opendj-core/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java 8 ●●●●● patch | view | raw | blame | history
opendj-core/src/test/java/org/forgerock/opendj/ldap/ByteSequenceTestCase.java 13 ●●●● patch | view | raw | blame | history
opendj-core/src/test/java/org/forgerock/opendj/ldap/ByteStringTestCase.java 39 ●●●● patch | view | raw | blame | history
opendj-core/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java
@@ -36,6 +36,14 @@
 */
public interface ByteSequence extends Comparable<ByteSequence> {
    /** A byte array comparator. */
    public static final Comparator<byte[]> BYTE_ARRAY_COMPARATOR = new Comparator<byte[]>() {
        @Override
        public int compare(final byte[] b1, final byte[] b2) {
            return ByteString.compareTo(b1, 0, b1.length, b2, 0, b2.length);
        }
    };
    /** A ByteSequence comparator. */
    public static final Comparator<ByteSequence> COMPARATOR = new Comparator<ByteSequence>() {
        @Override
opendj-core/src/test/java/org/forgerock/opendj/ldap/ByteSequenceTestCase.java
@@ -22,12 +22,11 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2014 ForgeRock AS
 */
package org.forgerock.opendj.ldap;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import javax.xml.bind.DatatypeConverter;
@@ -158,14 +157,8 @@
    }
    @Test(dataProvider = "byteSequenceProvider")
    public void testToString(final ByteSequence bs, final byte[] ba) {
        String str;
        try {
            str = new String(ba, "UTF-8");
        } catch (final UnsupportedEncodingException uee) {
            str = new String(ba);
        }
    public void testToString(final ByteSequence bs, final byte[] ba) throws Exception {
        String str = new String(ba, "UTF-8");
        Assert.assertTrue(bs.toString().equals(str));
    }
opendj-core/src/test/java/org/forgerock/opendj/ldap/ByteStringTestCase.java
@@ -22,13 +22,10 @@
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 *      Portions copyright 2011-2012 ForgeRock AS
 *      Portions copyright 2011-2014 ForgeRock AS
 */
package org.forgerock.opendj.ldap;
import static org.fest.assertions.Assertions.*;
import java.util.Arrays;
import javax.xml.bind.DatatypeConverter;
@@ -38,6 +35,8 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.fest.assertions.Assertions.*;
/**
 * This class defines a set of tests for the ByteString class.
 */
@@ -229,11 +228,28 @@
                        + "8PHy8/T19vf4+fr7/P3+/w==" }, };
    }
    @DataProvider
    public Object[][] comparatorTest() throws Exception {
        final Object[][] array = byteSequenceProvider();
        int len = array.length;
        final Object[][] result = new Object[len + 4][];
        for (int i = 0; i < array.length; i++) {
            final Object[] original = array[i];
            final Object[] copy = Arrays.copyOf(original, original.length + 1);
            copy[original.length] = 0;
            result[i] = copy;
        }
        result[len++] = new Object[] { ByteString.empty(), new byte[0], 0 };
        result[len++] = new Object[] { ByteString.empty(), "bla".getBytes("UTF8"), -3 };
        result[len++] = new Object[] { ByteString.valueOf("bla"), new byte[0], 3 };
        result[len++] = new Object[] { ByteString.valueOf("bla"), "bla".getBytes("UTF8"), 0 };
        return result;
    }
    @Test(dataProvider = "invalidBase64Data",
            expectedExceptions = { LocalizedIllegalArgumentException.class })
    public void testValueOfBase64ThrowsLIAE(final String invalidBase64) throws Exception {
        Assert.fail("Expected exception but got result: "
                + Arrays.toString(new ByteString[] { ByteString.valueOfBase64(invalidBase64) }));
        ByteString.valueOfBase64(invalidBase64);
    }
    @Test(dataProvider = "validBase64Data")
@@ -271,4 +287,15 @@
    public void testValueOfInvalidHex() {
        ByteString.valueOfHex("636E3D746573x7476616C7565");
    }
    @Test(dataProvider = "comparatorTest")
    public void testComparator(final ByteSequence bs, final byte[] ba, final int expectedCmp) throws Exception {
        assertThat(ByteSequence.COMPARATOR.compare(bs, ByteString.wrap(ba))).isEqualTo(expectedCmp);
    }
    @Test(dataProvider = "comparatorTest")
    public void testByteArrayComparator(final ByteSequence bs, final byte[] ba, final int expectedCmp)
            throws Exception {
        assertThat(ByteSequence.BYTE_ARRAY_COMPARATOR.compare(bs.toByteArray(), ba)).isEqualTo(expectedCmp);
    }
}