Bug 172604 Total.Rank result incorrect.
The Total.rank() aggregation function should follow Excel convention, that is, the identical values should only hold one place in rank. The following table give details: Value | Rank 20 | 3 10 | 4 30 | 2 30 | 2 40 | 1
data/org.eclipse.birt.data.tests/test/org/eclipse/birt/data/engine/aggregation/TotalTest.java
assertEquals(BuiltInAggregationFactory.TOTAL_BOTTOM_N_FUNC, ag.getName());
        assertEquals(IAggregation.RUNNING_AGGR, ag.getType());
        assertEquals(2, ag.getParameterDefn().length);
        assertTrue(ag.getParameterDefn()[0]);
        assertFalse(ag.getParameterDefn()[1]);
        
        ac.start();
        for(int i=0; i<doubleArray1.length; i++)
        {
            ac.onRow(new Double[]{new Double(doubleArray1[i]), new Double(10)});
        }
        ac.finish();
        ac.start();
        for(int i=0; i<doubleArray1.length; i++)
        {
            ac.onRow(new Double[]{new Double(doubleArray1[i]), new Double(10)});
        	assertEquals(new Boolean(!doubleArray1TopBottom[i]), ac.getValue());
        }
        ac.finish();
        
        ag = BuiltInAggregationFactory.getInstance().getAggregation("isBottomNPercent");
        ac = ag.newAccumulator();
        assertEquals(BuiltInAggregationFactory.TOTAL_BOTTOM_PERCENT_FUNC, ag.getName());
        assertEquals(IAggregation.RUNNING_AGGR, ag.getType());
        assertEquals(2, ag.getParameterDefn().length);
        assertTrue(ag.getParameterDefn()[0]);
        assertFalse(ag.getParameterDefn()[1]);
        
        ac.start();
        for(int i=0; i<doubleArray1.length; i++)