public void testGetEndValue() {
        TaskSeriesCollection c = createCollection1();
        assertEquals(new Long(2L), c.getEndValue("S1", "Task 1"));
        assertEquals(new Long(4L), c.getEndValue("S1", "Task 2"));
        assertEquals(new Long(6L), c.getEndValue("S2", "Task 3"));

        assertEquals(new Long(2L), c.getEndValue(0, 0));
        assertEquals(new Long(4L), c.getEndValue(0, 1));
        assertEquals(null, c.getEndValue(0, 2));
        assertEquals(null, c.getEndValue(1, 0));
        assertEquals(null, c.getEndValue(1, 1));
        assertEquals(new Long(6L), c.getEndValue(1, 2));

        // test collection 3, which doesn't define all tasks in all series
        TaskSeriesCollection c3 = createCollection3();
        assertEquals(new Long(200), c3.getEndValue(0, 0));
        assertEquals(new Long(350), c3.getEndValue(0, 1));
        assertTrue(c3.getEndValue(1, 0) == null);
        assertEquals(new Long(3350), c3.getEndValue(1, 1));