@Test
public void testRemoveClasses(){

    try {
        getCategorize();
        // -INF -> class1
        // t3 (50)  -> class4
        // t1 (100) -> class2
        // t2 (200) -> class3
        categorize.remove(0);
        // -INF     -> class4
        // t1 (100) -> class2
        // t2 (200) -> class3
        double first = categorize.getThreshold(0).getValue(null, -1);
        assertTrue(Double.isInfinite(first) && first < 0);
        assertTrue(categorize.getNumClasses() == 3);
        assertTrue(categorize.get(0).getColor(null, -1) == class4.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.remove(2);
        // -INF     -> class4
        // t1 (100) -> class2
        first = categorize.getThreshold(0).getValue(null, -1);
        assertTrue(Double.isInfinite(first) && first < 0);
        assertTrue(categorize.getNumClasses() == 2);
        assertTrue(categorize.get(0).getColor(null, -1) == class4.getColor(null, -1));
        assertTrue(categorize.get(1).getColor(null, -1) == class2.getColor(null, -1));
        categorize.remove(1);
        // -INF     -> class4
        first = categorize.getThreshold(0).getValue(null, -1);
        assertTrue(Double.isInfinite(first) && first < 0);
        assertTrue(categorize.getNumClasses() == 1);
        assertTrue(categorize.get(0).getColor(null, -1) == class4.getColor(null, -1));
    } catch (ParameterException ex) {
        Logger.getLogger(Categorize2ColorTest.class.getName()).log(Level.SEVERE, null, ex);
    }
}