@Test
public void testAddClasses(){

    try {
        //We first have ;
        // -INF -> class1
        // t1 -> class2
        categorize.put(t1, class2);
        assertTrue(categorize.getNumClasses() == 2);
        assertTrue(categorize.get(0).getColor(null, -1) == class1.getColor(null, -1));
        assertTrue(categorize.get(1).getColor(null, -1) == class2.getColor(null, -1));
        categorize.put(t2, class3);
        // -INF -> class1
        // t1 -> class2
        // t2 -> class3
        assertTrue(categorize.getNumClasses() == 3);
        assertTrue(categorize.get(0).getColor(null, -1) == class1.getColor(null, -1));
        assertTrue(categorize.get(1).getColor(null, -1) == class2.getColor(null, -1));
        assertTrue(categorize.get(2).getColor(null, -1) == class3.getColor(null, -1));
        categorize.put(t3, class4);
        // -INF -> class1
        // t3 -> class4
        // t1 -> class2
        // t2 -> class3
        assertTrue(categorize.getNumClasses() == 4);
        assertTrue(categorize.get(0).getColor(null, -1) == class1.getColor(null, -1));
        assertTrue(categorize.get(2).getColor(null, -1) == class2.getColor(null, -1));
        assertTrue(categorize.get(3).getColor(null, -1) == class3.getColor(null, -1));
        assertTrue(categorize.get(1).getColor(null, -1) == class4.getColor(null, -1));
    } catch (ParameterException ex) {
        Logger.getLogger(Categorize2ColorTest.class.getName()).log(Level.SEVERE, null, ex);
    }
}