package org.molgenis.data.support; import com.google.common.collect.Lists; import org.molgenis.data.aggregation.AggregateAnonymizerImpl; import org.molgenis.data.aggregation.AggregateResult; import org.molgenis.data.aggregation.AnonymizedAggregateResult; import org.testng.annotations.Test; import java.util.Arrays; import java.util.List; import static org.molgenis.data.aggregation.AggregateAnonymizer.AGGREGATE_ANONYMIZATION_VALUE; import static org.testng.Assert.assertEquals; public class AggregateAnonymizerImplTest { @Test public void anonymize() { int threshold = 10; List<List<Long>> matrix = Lists.newArrayList(); matrix.add(Arrays.asList(11l, 10l, 90l, 0l, 7l)); matrix.add(Arrays.asList(null, 1l, 90l, 100l, 17l)); matrix.add(Arrays.asList(11l, null, 90l, 5l, 10l)); List<Object> xLabels = Arrays.asList("x1", "x2", "x3"); List<Object> yLabels = Arrays.asList("y1", "y2", "y3"); AnonymizedAggregateResult result = new AggregateAnonymizerImpl() .anonymize(new AggregateResult(matrix, xLabels, yLabels), threshold); List<List<Long>> expectedMatrix = Lists.newArrayList(); expectedMatrix.add(Arrays.asList(11l, AGGREGATE_ANONYMIZATION_VALUE, 90l, AGGREGATE_ANONYMIZATION_VALUE, AGGREGATE_ANONYMIZATION_VALUE)); expectedMatrix.add(Arrays.asList(null, AGGREGATE_ANONYMIZATION_VALUE, 90l, 100l, 17l)); expectedMatrix.add(Arrays.asList(11l, null, 90l, AGGREGATE_ANONYMIZATION_VALUE, AGGREGATE_ANONYMIZATION_VALUE)); assertEquals(result, new AnonymizedAggregateResult(expectedMatrix, xLabels, yLabels, threshold)); } }