|
From: xanaot <xa...@us...> - 2007-10-10 20:03:26
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/strategy In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7785/src/test/net/sf/tail/strategy Added Files: CombinedBuyAndSellStrategyTest.java Log Message: CombinedBuyAndSellStrategy com testes --- NEW FILE: CombinedBuyAndSellStrategyTest.java --- package net.sf.tail.strategy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; 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.Test; public class CombinedBuyAndSellStrategyTest { private Operation[] enter; private Operation[] exit; private FakeStrategy buyStrategy; private FakeStrategy sellStrategy; private CombinedBuyAndSellStrategy combined; @Test public void testeShoudEnter() { enter = new Operation[] { new Operation(0, OperationType.BUY), null, new Operation(2, OperationType.BUY), null, new Operation(4, OperationType.BUY) }; exit = new Operation[] { null, null, null, null, null }; buyStrategy = new FakeStrategy(enter, null); sellStrategy = new FakeStrategy(null, exit); combined = new CombinedBuyAndSellStrategy(buyStrategy, sellStrategy); assertTrue(combined.shouldEnter(0)); assertFalse(combined.shouldEnter(1)); assertTrue(combined.shouldEnter(2)); assertFalse(combined.shouldEnter(3)); assertTrue(combined.shouldEnter(4)); assertFalse(combined.shouldExit(0)); assertFalse(combined.shouldExit(1)); assertFalse(combined.shouldExit(2)); assertFalse(combined.shouldExit(3)); assertFalse(combined.shouldExit(4)); } @Test public void testeShoudExit() { exit = new Operation[] { new Operation(0, OperationType.SELL), null, new Operation(2, OperationType.SELL), null, new Operation(4, OperationType.SELL) }; enter = new Operation[] { null, null, null, null, null }; buyStrategy = new FakeStrategy(enter, null); sellStrategy = new FakeStrategy(null, exit); combined = new CombinedBuyAndSellStrategy(buyStrategy, sellStrategy); assertTrue(combined.shouldExit(0)); assertFalse(combined.shouldExit(1)); assertTrue(combined.shouldExit(2)); assertFalse(combined.shouldExit(3)); assertTrue(combined.shouldExit(4)); assertFalse(combined.shouldEnter(0)); assertFalse(combined.shouldEnter(1)); assertFalse(combined.shouldEnter(2)); assertFalse(combined.shouldEnter(3)); assertFalse(combined.shouldEnter(4)); } @Test public void testWhenBuyStrategyAndSellStrategyAreEquals() { Indicator<Double> first = new SampleIndicator(new double[] { 4, 7, 9, 6, 3, 2 }); Indicator<Double> second = new SampleIndicator(new double[] { 3, 6, 10, 8, 2, 1 }); Strategy crossed = new IndicatorCrossedIndicatorStrategy(first, second); combined = new CombinedBuyAndSellStrategy(crossed, crossed); for (int index = 0; index < 6; index++) { assertEquals(crossed.shouldEnter(index), combined.shouldEnter(index)); assertEquals(crossed.shouldExit(index), combined.shouldExit(index)); } } } |