/** * */ package cz.cuni.mff.peckam.java.origamist.unused.test; import static org.junit.Assert.assertTrue; import java.util.Arrays; import org.junit.Test; import cz.cuni.mff.peckam.java.origamist.unused.utils.EpsilonRedBlackTree; /** * * * @author Martin Pecka */ public class EpsilonRedBlackTreeTest { /** * Test method for {@link EpsilonRedBlackTree}. */ @Test public void testTree() { EpsilonRedBlackTree<Integer, Integer, Integer> map = new EpsilonRedBlackTree<Integer, Integer, Integer>(5); map.epsilonPut(0, 100); map.epsilonPut(10, 100); map.epsilonPut(20, 100); map.epsilonPut(33, 100); map.epsilonPut(34, 100); map.epsilonPut(2, 100); map.epsilonPut(-4, 100); map.epsilonPut(7, 100); assertArraysEqual("Keys don't correspond.", map.keySet().toArray(), new Integer[] { 0, 10, 20, 33 }); assertArraysEqual("Values don't correspond.", map.values().toArray(), new Integer[] { 100, 100, 100, 100 }); map.epsilonPut(22, 99); assertArraysEqual("Keys don't correspond.", map.keySet().toArray(), new Integer[] { 0, 10, 20, 33 }); assertArraysEqual("Values don't correspond.", map.values().toArray(), new Integer[] { 100, 100, 99, 100 }); map.epsilonRemove(29); assertArraysEqual("Keys don't correspond.", map.keySet().toArray(), new Integer[] { 0, 10, 20 }); assertArraysEqual("Values don't correspond.", map.values().toArray(), new Integer[] { 100, 100, 99 }); map.epsilonRemove(-6); assertArraysEqual("Keys don't correspond.", map.keySet().toArray(), new Integer[] { 0, 10, 20 }); assertArraysEqual("Values don't correspond.", map.values().toArray(), new Integer[] { 100, 100, 99 }); map.epsilonRemove(-5); assertArraysEqual("Keys don't correspond.", map.keySet().toArray(), new Integer[] { 10, 20 }); assertArraysEqual("Values don't correspond.", map.values().toArray(), new Integer[] { 100, 99 }); } protected void assertArraysEqual(String message, Object[] a1, Object[] a2) { assertTrue(message + " a1: " + Arrays.toString(a1) + "; a2: " + Arrays.toString(a2), Arrays.deepEquals(a1, a2)); } public static void main(String[] args) { new EpsilonRedBlackTreeTest().testTree(); System.out.println("Success."); } }