package org.numenta.nupic.monitor.mixin;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Before;
import org.junit.Test;
public class MetricTest {
private CountsTrace countsTrace;
@Before
public void test() {
countsTrace = new CountsTrace(null, "# active cells");
countsTrace.items = Arrays.asList(new Integer[] { 1, 2, 3, 4, 5, 0 });
}
@Test
public void testCreateFromTrace() {
Metric metric = Metric.createFromTrace(countsTrace, null);
assertEquals(metric.title, countsTrace.title);
assertEquals(0, metric.min, 0.1);
assertEquals(5, metric.max, 0);
assertEquals(15, metric.sum, 0);
assertEquals(2.5, metric.mean, 0.01);
assertEquals(1.707825127659933, metric.standardDeviation, 0.00000000001);
}
@Test
public void testCreateFromTraceExcludeResets() {
BoolsTrace resetTrace = new BoolsTrace(null, "resets");
resetTrace.items = Arrays.asList(new Boolean[] { true, false, false, true, false, false });
Metric metric = Metric.createFromTrace(countsTrace, resetTrace);
assertEquals(metric.title, countsTrace.title);
assertEquals(0, metric.min, 0.1);
assertEquals(5, metric.max, 0);
assertEquals(10, metric.sum, 0);
assertEquals(2.5, metric.mean, 0.01);
assertEquals(1.8027756377319946, metric.standardDeviation, 0.00000000001);
}
}