package com.linkedin.thirdeye.anomaly.alert.grouping; import com.linkedin.thirdeye.api.DimensionMap; import com.linkedin.thirdeye.datalayer.dto.MergedAnomalyResultDTO; import com.linkedin.thirdeye.datalayer.dto.GroupedAnomalyResultsDTO; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.testng.Assert; import org.testng.annotations.Test; public class DummyAlertGrouperTest { @Test(dataProvider="prepareAnomalyGroups", dataProviderClass=DimensionalAlertGrouperTest.class) public void testGroup(List<MergedAnomalyResultDTO> anomalies, Set<MergedAnomalyResultDTO> expectedGroup1, Set<MergedAnomalyResultDTO> expectedGroup2, Set<MergedAnomalyResultDTO> expectedRollUpGroup) { DummyAlertGrouper alertGrouper = new DummyAlertGrouper(); Map<DimensionMap, GroupedAnomalyResultsDTO> groupedAnomalies = alertGrouper.group(anomalies); Assert.assertEquals(groupedAnomalies.size(), 1); Set<MergedAnomalyResultDTO> expectedAnomalySet = new HashSet<>(); expectedAnomalySet.addAll(anomalies); List<MergedAnomalyResultDTO> actualAnomalies = groupedAnomalies.get(new DimensionMap()).getAnomalyResults(); Assert.assertEquals(actualAnomalies.size(), anomalies.size()); Set<MergedAnomalyResultDTO> actualAnomalySet = new HashSet<>(); actualAnomalySet.addAll(actualAnomalies); Assert.assertEquals(actualAnomalySet, expectedAnomalySet); } }