package org.openlca.core.results;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
public class StatisticsTest {
@Test
public void testEmptyStatistics() {
SimulationStatistics statistics = SimulationStatistics.empty();
// has a 0 value
assertEquals(1, statistics.getMaximalAbsoluteFrequency());
assertEquals(1, statistics.getCount());
assertEquals(0, statistics.getPercentileValue(5), 1e-16);
assertEquals(0, statistics.getPercentileValue(95), 1e-16);
assertEquals(0, statistics.getAbsoluteFrequency(5));
assertEquals(0, statistics.getAbsoluteFrequency(95));
assertEquals(0, statistics.getMaximum(), 1e-16);
assertEquals(0, statistics.getMean(), 1e-16);
assertEquals(0, statistics.getMedian(), 1e-16);
assertEquals(0, statistics.getMinimum(), 1e-16);
assertEquals(0, statistics.getRange(), 1e-16);
assertEquals(0, statistics.getStandardDeviation(), 1e-16);
}
@Test
public void testSimpleStatistics() {
SimulationStatistics statistics = new SimulationStatistics(
Arrays.asList(1d, 2d, 3d), 3);
// has a 0 value
assertEquals(1, statistics.getMaximalAbsoluteFrequency());
assertEquals(3, statistics.getCount());
assertEquals(1, statistics.getPercentileValue(5), 1e-16);
assertEquals(2.5, statistics.getPercentileValue(95), 1e-16);
assertEquals(1, statistics.getAbsoluteFrequency(0));
assertEquals(1, statistics.getAbsoluteFrequency(1));
assertEquals(1, statistics.getAbsoluteFrequency(2));
assertEquals(0, statistics.getAbsoluteFrequency(3));
assertEquals(3, statistics.getMaximum(), 1e-16);
assertEquals(2, statistics.getMean(), 1e-16);
assertEquals(2, statistics.getMedian(), 1e-16);
assertEquals(1, statistics.getMinimum(), 1e-16);
assertEquals(2, statistics.getRange(), 1e-16);
assertEquals(1, statistics.getStandardDeviation(), 1e-16);
}
@Test
public void testZeroValues() {
SimulationStatistics statistics = new SimulationStatistics(
Arrays.asList(0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d), 10);
assertEquals(0d, statistics.getMean(), 1e-16);
assertEquals(0d, statistics.getMinimum(), 1e-16);
assertEquals(0d, statistics.getMaximum(), 1e-16);
assertEquals(0d, statistics.getStandardDeviation(), 1e-16);
}
}