@Test
public void testGroupByDCAndPodPrefix() {

	
	GroupByTransform transform = new GroupByTransform(new TransformFactory(null, null));
	
	Map<Long, Double> datapoints = new HashMap<Long, Double>();
       	datapoints.put(1000L, 1.0);
	
	List<Metric> metrics = new ArrayList<>();
	
	Metric metric1 = new Metric("system.DCA.SP1.ab1", "metric1");
	metric1.setDatapoints(datapoints);
	
	Metric metric2 = new Metric("system.DCA.SP1.ab2", "metric1");
	metric2.setDatapoints(datapoints);
	
	Metric metric3 = new Metric("system.DCA.SP1.xy1", "metric1");
	metric3.setDatapoints(datapoints);
	
	Metric metric4 = new Metric("system.DCA.SP1.xy2", "metric1");
	metric4.setDatapoints(datapoints);
	
	Metric metric5 = new Metric("system.DCB.SP1.ab1", "metric1");
	metric5.setDatapoints(datapoints);
	
	Metric metric6 = new Metric("system.DCB.SP1.ab2", "metric1");
	metric6.setDatapoints(datapoints);
	
	Metric metric7 = new Metric("system.DCB.SP1.xy1", "metric1");
	metric7.setDatapoints(datapoints);
	
	Metric metric8 = new Metric("system.DCB.SP1.xy2", "metric1");
	metric8.setDatapoints(datapoints);
       
	metrics.add(metric1);
	metrics.add(metric2);
	metrics.add(metric3);
	metrics.add(metric4);
	metrics.add(metric5);
	metrics.add(metric6);
	metrics.add(metric7);
	metrics.add(metric8);
	
	List<String> constants = new ArrayList<>();
	constants.add("system\\.([A-Z]+)\\.SP.\\.([a-z]+).");
	constants.add("DIVIDE");
	
	List<Metric> result = transform.transform(null, metrics, constants);
	assertTrue(result.size() == 4);
	for(Metric r : result) {
		assertEquals(new Double(1.0), r.getDatapoints().get(1000L));
	}
}