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