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);
}
}
|