|
From: Thies <tg...@us...> - 2007-05-19 15:59:51
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/strategy In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25694/src/test/net/sf/tail/strategy Added Files: IndicatorCrossedIndicatorStrategyTest.java Log Message: Stochastic comentado, criado a estratégia IndicatorCrossedIndicator e seu teste --- NEW FILE: IndicatorCrossedIndicatorStrategyTest.java --- package net.sf.tail.strategy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import junit.framework.JUnit4TestAdapter; import net.sf.tail.Indicator; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Strategy; import net.sf.tail.sample.SampleIndicator; import org.junit.Before; import org.junit.Test; public class IndicatorCrossedIndicatorStrategyTest { private Indicator<Double> first; private Indicator<Double> second; @Before public void setUp() throws Exception { first = new SampleIndicator(new double[] {4,7,9,6,3,2}); second = new SampleIndicator(new double[] {3,6,10,8,2,1}); } @Test public void testCrossedIndicator() { Strategy s = new IndicatorCrossedIndicatorStrategy(first, second); assertNull(s.shouldEnter(0)); assertNull(s.shouldEnter(1)); Operation enter = s.shouldEnter(2); assertNotNull(enter); assertEquals(enter.getType(), OperationType.BUY); assertNull(s.shouldEnter(3)); assertNull(s.shouldEnter(4)); assertNull(s.shouldExit(enter, 3)); Operation exit = s.shouldExit(enter, 4); assertNotNull(exit); assertEquals(exit.getType(), OperationType.SELL); assertNull(s.shouldEnter(5)); } @Test public void testEqualIndicatorsShouldEnter() { Indicator<Double> firstEqual = new SampleIndicator(new double[] {2,3,4,5,6,7}); Indicator<Double> secondEqual = new SampleIndicator(new double[] {2,3,4,5,6,7}); Strategy s = new IndicatorCrossedIndicatorStrategy(firstEqual, secondEqual); for(int i = 0; i < 6; i++) { assertNull(s.shouldEnter(i)); } } @Test public void testEqualIndicatorsShouldExit() { Indicator<Double> firstEqual = new SampleIndicator(new double[] {2,1,4,5,6,7}); Indicator<Double> secondEqual = new SampleIndicator(new double[] {1,3,4,5,6,7}); Strategy s = new IndicatorCrossedIndicatorStrategy(firstEqual, secondEqual); Operation enter = s.shouldEnter(1); assertNotNull(enter); assertEquals(enter.getType(), OperationType.BUY); for(int i = 2; i < 6; i++) { assertNull(s.shouldExit(enter, i)); } } @Test public void testEqualIndicatorsShouldEnterEqualsShouldExit() { Indicator<Double> firstEqual = new SampleIndicator(new double[] {2,1,4,5,6,7,10}); Indicator<Double> secondEqual = new SampleIndicator(new double[] {1,3,4,5,6,7,9}); Strategy s = new IndicatorCrossedIndicatorStrategy(firstEqual, secondEqual); Operation enter = s.shouldEnter(1); assertNotNull(enter); assertEquals(enter.getType(), OperationType.BUY); for(int i = 2; i < 6; i++) { assertNull(s.shouldExit(enter, i)); } Operation exit = s.shouldExit(enter, 6); assertNotNull(exit); assertEquals(exit.getType(), OperationType.SELL); } @Test public void testEqualIndicatorsShouldNotBuy() { Indicator<Double> firstEqual = new SampleIndicator(new double[] {2,3,4,5,6,7,10}); Indicator<Double> secondEqual = new SampleIndicator(new double[] {1,3,4,5,6,7,9}); Strategy s = new IndicatorCrossedIndicatorStrategy(firstEqual, secondEqual); for(int i = 0; i < 7; i++) { assertNull(s.shouldEnter(i)); } firstEqual = new SampleIndicator(new double[] {2, 3, 4, 5, 6, 8}); secondEqual = new SampleIndicator(new double[] {2, 3, 4, 5, 6, 7}); for(int i = 0; i < 6; i++) { assertNull(s.shouldEnter(i)); } } public static junit.framework.Test suite() { return new JUnit4TestAdapter(IndicatorCrossedIndicatorStrategyTest.class); } } |