|
From: Márcio V. d. S. <mv...@us...> - 2007-06-08 18:24:36
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20178/src/test/net/sf/tail/analysis/criteria Modified Files: MaximumDrawDownTest.java Added Files: AverageProfitCriterionTest.java RewardRiskRatioCriterionTest.java Log Message: Refatoração --- NEW FILE: RewardRiskRatioCriterionTest.java --- package net.sf.tail.analysis.criteria; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Trade; import net.sf.tail.sample.SampleIndicator; import org.junit.Before; import org.junit.Test; public class RewardRiskRatioCriterionTest { private SampleIndicator indicator; private List<Trade> trades; @Before public void setUp() throws Exception { this.indicator = new SampleIndicator(new double[] { 100, 105, 95, 100, 90, 95, 80, 120 }); trades = new ArrayList<Trade>(); trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); trades.add(new Trade(new Operation(2, OperationType.BUY), new Operation(4, OperationType.SELL))); trades.add(new Trade(new Operation(5, OperationType.BUY), new Operation(7, OperationType.SELL))); } @Test public void testRewardRiskRatioCriterionIndicatorOfQextendsNumberListOfTradeInt() { AnalysisCriterion rrc = new RewardRiskRatioCriterion(indicator, trades, 8); assertEquals(0.05, rrc.calculate(), 0.01); } @Test public void testRewardRiskRatioWithNullSeriesSizeShouldReturnInfinity() { AnalysisCriterion rrc = new RewardRiskRatioCriterion(indicator, trades, 0); assertEquals(Double.POSITIVE_INFINITY, rrc.calculate()); } } --- NEW FILE: AverageProfitCriterionTest.java --- package net.sf.tail.analysis.criteria; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Trade; import net.sf.tail.sample.SampleIndicator; import org.junit.Before; import org.junit.Test; public class AverageProfitCriterionTest { private SampleIndicator indicator; private List<Trade> trades; @Before public void setUp() throws Exception { trades = new ArrayList<Trade>(); } @Test public void testCalculateOnlyWithGainTrades() { indicator = new SampleIndicator(new double[]{100, 105, 110, 100, 95, 105}); trades.clear(); trades.add(new Trade(new Operation(0,OperationType.BUY),new Operation(2,OperationType.SELL))); trades.add(new Trade(new Operation(3,OperationType.BUY),new Operation(5,OperationType.SELL))); AnalysisCriterion averageProfit = new AverageProfitCriterion(indicator,trades); assertEquals(1.03, averageProfit.calculate(),0.01); } @Test public void testCalculateOnlyWithLossTrades() { indicator = new SampleIndicator(new double[]{100, 95, 100, 80, 85, 70}); trades.clear(); trades.add(new Trade(new Operation(0,OperationType.BUY),new Operation(1,OperationType.SELL))); trades.add(new Trade(new Operation(2,OperationType.BUY),new Operation(5,OperationType.SELL))); AnalysisCriterion averageProfit = new AverageProfitCriterion(indicator,trades); assertEquals(0.9, averageProfit.calculate(),0.01); } @Test public void testCalculateWithNoTicksShouldReturnNan() { indicator = new SampleIndicator(new double[]{100, 95, 100, 80, 85, 70}); trades.clear(); AnalysisCriterion averageProfit = new AverageProfitCriterion(indicator,trades); assertEquals(Double.NaN, averageProfit.calculate()); } } Index: MaximumDrawDownTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/MaximumDrawDownTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MaximumDrawDownTest.java 8 Jun 2007 15:14:26 -0000 1.1 --- MaximumDrawDownTest.java 8 Jun 2007 18:24:36 -0000 1.2 *************** *** 20,24 **** public void testCalculateShouldWork() { ! MaximumDrawDownCriteria mdd = new MaximumDrawDownCriteria(indicator, 7); assertEquals(23.0, mdd.calculate()); --- 20,24 ---- public void testCalculateShouldWork() { ! MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(indicator, 7); assertEquals(23.0, mdd.calculate()); *************** *** 27,33 **** @Test public void testCalculateWithNullSeriesSizeShouldReturnZero() { ! MaximumDrawDownCriteria mdd = new MaximumDrawDownCriteria(indicator, 0); assertEquals(0d, mdd.calculate()); --- 27,41 ---- @Test + public void testMaxDrownDownWithIndicatorInBullishShouldReturnZero() { + this.indicator = new SampleIndicator(new double[] { 1, 2, 3, 6, 50, 200, 888 }); + MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(indicator, 7); + + assertEquals(0d, mdd.calculate()); + + } + @Test public void testCalculateWithNullSeriesSizeShouldReturnZero() { ! MaximumDrawDownCriterion mdd = new MaximumDrawDownCriterion(indicator, 0); assertEquals(0d, mdd.calculate()); |