Package com.googlecode.gaal.data.impl

Source Code of com.googlecode.gaal.data.impl.ArraySequenceTest

package com.googlecode.gaal.data.impl;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

import com.googlecode.gaal.data.api.IntSequence;

public class ArraySequenceTest {

    static final int[] array = { 1, 2, 3, 4, 5 };
    private IntSequence sequence;

    @Before
    public void setUp() throws Exception {
        sequence = new ArraySequence(array, 1, 4);
    }

    @Test
    public void testArraySequenceIntArray() {
        IntSequence s = new ArraySequence(array);
        assertEquals("[1, 2, 3, 4, 5]", s.toString());
    }

    @Test
    public void testArraySequenceIntArrayIntInt() {
        IntSequence s = new ArraySequence(array, 1, 3);
        assertEquals("[2, 3]", s.toString());
    }

    @Test
    public void testGetIntInt() {
        assertTrue(sequence.get(0, -1) == 2);
        assertTrue(sequence.get(1, -1) == 3);
        assertTrue(sequence.get(2, -1) == 4);
        assertTrue(sequence.get(3, -1) == -1);
    }

    @Test
    public void testGetInt() {
        assertTrue(sequence.get(0) == 2);
        assertTrue(sequence.get(1) == 3);
        assertTrue(sequence.get(2) == 4);
        Exception exception = null;
        try {
            sequence.get(3);
        } catch (IndexOutOfBoundsException ex) {
            exception = ex;
        }
        assertTrue(exception != null);
        assertTrue(exception.getMessage().equals("3"));
    }

    @Test
    public void testSubSequence() {
        // sequence [2, 3, 4]
        IntSequence s = sequence.subSequence(1, 3);
        assertEquals("[3, 4]", s.toString());
    }

    @Test
    public void testReverse() {
        // sequence [2, 3, 4]
        IntSequence reverse = sequence.reverse();
        assertEquals("[4, 3, 2]", reverse.toString());
    }

    @Test
    public void testReverseGetIntInt() {
        IntSequence reverse = sequence.reverse();
        // s [4, 3, 2]
        assertTrue(reverse.get(0, -1) == 4);
        assertTrue(reverse.get(1, -1) == 3);
        assertTrue(reverse.get(2, -1) == 2);
        assertTrue(reverse.get(3, -1) == -1);
    }

    @Test
    public void testReverseGetInt() {
        IntSequence reverse = sequence.reverse();
        // s [4, 3, 2]
        assertTrue(reverse.get(0) == 4);
        assertTrue(reverse.get(1) == 3);
        assertTrue(reverse.get(2) == 2);
        Exception exception = null;
        try {
            reverse.get(3);
        } catch (IndexOutOfBoundsException ex) {
            exception = ex;
        }
        assertTrue(exception != null);
        assertTrue(exception.getMessage().equals("3"));
    }

    @Test
    public void testReverseSubSequence() {
        IntSequence reverse = sequence.reverse();
        // s [4, 3, 2]
        IntSequence s = reverse.subSequence(1, 3);
        assertEquals("[3, 2]", s.toString());
    }

    @Test
    public void testSize() {
        assertTrue(sequence.size() == 3);
    }

    @Test
    public void testCompareTo() {
        System.out.println("compareTo");
        // equality
        System.out.printf("%s=%s\n", sequence, sequence);
        assertTrue(sequence.compareTo(sequence) == 0);
        assertTrue(sequence.equals(new ArraySequence(new int[] { 2, 3, 4 })));
        // a bigger sequence
        IntSequence bigger = new ArraySequence(new int[] { 2, 3, 5 });
        System.out.printf("%s<%s\n", sequence, bigger);
        assertTrue(sequence.compareTo(bigger) < 0);
        System.out.printf("%s>%s\n", bigger, sequence);
        assertTrue(bigger.compareTo(sequence) > 0);
        // a smaller sequence
        IntSequence smaller = new ArraySequence(new int[] { 1, 2, 3 });
        System.out.printf("%s>%s\n", sequence, smaller);
        assertTrue(sequence.compareTo(smaller) > 0);
        System.out.printf("%s<%s\n", smaller, sequence);
        assertTrue(smaller.compareTo(sequence) < 0);
        // a shorter sequence
        IntSequence shorter = new ArraySequence(new int[] { 2, 3 });
        System.out.printf("%s>%s\n", sequence, shorter);
        assertTrue(sequence.compareTo(shorter) > 0);
        System.out.printf("%s<%s\n", shorter, sequence);
        assertTrue(shorter.compareTo(sequence) < 0);
        // a longer sequence
        IntSequence longer = new ArraySequence(new int[] { 2, 3, 4, 5 });
        System.out.printf("%s<%s\n", sequence, longer);
        assertTrue(sequence.compareTo(longer) < 0);
        System.out.printf("%s>%s\n", longer, sequence);
        assertTrue(longer.compareTo(sequence) > 0);

    }

}
TOP

Related Classes of com.googlecode.gaal.data.impl.ArraySequenceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.