|
From: Danilo S. <dt...@us...> - 2007-07-05 16:12:19
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/evaluator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20260/src/test/net/sf/tail/analysis/evaluator Added Files: BestStrategyEvaluatorTest.java Log Message: Refatorao do Walker para Evaluator e criao dos testes. --- NEW FILE: BestStrategyEvaluatorTest.java --- package net.sf.tail.analysis.evaluator; import static org.junit.Assert.assertEquals; import java.util.HashSet; import net.sf.tail.ConstrainedTimeSeries; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Strategy; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.strategy.AlwaysOperateStrategy; import net.sf.tail.strategy.FakeStrategy; import org.junit.Before; import org.junit.Test; public class BestStrategyEvaluatorTest { private Operation[] enter; private Operation[] exit; private AlwaysOperateStrategy alwaysStrategy; private FakeStrategy buyAndHoldStrategy; private HashSet<Strategy> strategies; @Before public void setUp() { enter = new Operation[] { new Operation(0, OperationType.BUY), null, null, null }; exit = new Operation[] { null, null, null, new Operation(4, OperationType.SELL) }; alwaysStrategy = new AlwaysOperateStrategy(); buyAndHoldStrategy = new FakeStrategy(enter, exit); strategies = new HashSet<Strategy>(); strategies.add(alwaysStrategy); strategies.add(buyAndHoldStrategy); } @Test public void bestShouldBeAlwaysOperateOnProfit() { SampleTimeSeries series = new SampleTimeSeries(new double[] {6.0, 9.0, 6.0, 6.0}); ConstrainedTimeSeries constrainedSeries = new ConstrainedTimeSeries(series, 0, 4); BestStrategyEvaluator evaluator = new BestStrategyEvaluator(); Strategy choosen = evaluator.evaluate(strategies, constrainedSeries, new TotalProfitCriterion()); assertEquals(alwaysStrategy, choosen); } @Test public void bestShouldBeBuyAndHoldOnLoss() { SampleTimeSeries series = new SampleTimeSeries(new double[] {6.0, 3.0, 6.0, 6.0}); ConstrainedTimeSeries constrainedSeries = new ConstrainedTimeSeries(series, 0, 4); BestStrategyEvaluator evaluator = new BestStrategyEvaluator(); Strategy choosen = evaluator.evaluate(strategies, constrainedSeries, new TotalProfitCriterion()); assertEquals(buyAndHoldStrategy, choosen); } } |