package net.sourceforge.jabm.test.util; import junit.framework.TestCase; import net.sourceforge.jabm.util.TimeSeriesWindow; public class TimeSeriesWindowTest extends TestCase { TimeSeriesWindow window; public void setUp() { window = new TimeSeriesWindow(10); } public void testEmpty() { // window.addValue(0); for(int i=0; i<15; i++) { assertTrue(Double.isNaN(window.getValue(i))); } } public void testSimpleMovingAverageWithinWindow() { for(int i=0; i<10; i++) { window.addValue(i); } assertEquals(4.5, window.getSimpleMovingAverage(), 10E-6); } public void testSimpleMovingAverageBeyondWindow1() { for(int i=0; i<15; i++) { window.addValue(i); } assertEquals(9.5, window.getSimpleMovingAverage(), 10E-6); } public void testSimpleMovingAverageBeyondWindow2() { for(int i=0; i<25; i++) { window.addValue(i); } assertEquals(19.5, window.getSimpleMovingAverage(), 10E-6); } public void testLags() { for(int i=0; i<25; i++) { window.addValue(i); } assertEquals(24.0, window.getValue(0), 10E-6); for(int i=1; i<10; i++) { assertEquals(25 - i - 1, window.getValue(i), 10E-6); } } }