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