/* * Copyright 2006 Amazon Technologies, Inc. or its affiliates. * Amazon, Amazon.com and Carbonado are trademarks or registered trademarks * of Amazon Technologies, Inc. or its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.amazon.carbonado.raw; import java.util.Random; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Test case for {@link DataEncoder} and {@link DataDecoder}. *
 * It generates random data values, checks that the decoding produces the
 * original results, and it checks that the order of the encoded bytes matches
 * the order of the original data values.
 *
 * @author Brian S O'Neill
 */
public class TestDataEncoding extends TestCase {
    private static final int SHORT_TEST = 100;
    private static final int MEDIUM_TEST = 500;
    private static final int LONG_TEST = 1000;
    public static void main(String[] args) {
        junit.textui.TestRunner.run(suite());
    }
    public static TestSuite suite() {
        return new TestSuite(TestDataEncoding.class);
    }
    /**
     * @return -1, 0, or 1
     */
    static int byteArrayCompare(byte[] aa, byte[] ab) {
        int len = Math.min(aa.length, ab.length);
        int result = byteArrayCompare(aa, ab, len);
        if (result == 0 && aa.length != ab.length) {
            if (aa.length == len) {
                return -1;
            }
            if (ab.length == len) {
                return 1;
            }
        }
        return result;
    }
    /**
     * @return -1, 0, or 1
     */
    static int byteArrayCompare(byte[] aa, byte[] ab, int len) {
        for (int i=0; i