|
From: Danilo S. <dt...@us...> - 2007-05-14 16:06:01
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/simple In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27414/src/test/net/sf/tail/indicator/simple Modified Files: ChangePriceIndicatorTest.java SimpleIndicatorTest.java Log Message: Comentrios no cdigo de teste. Index: SimpleIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/simple/SimpleIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SimpleIndicatorTest.java 14 May 2007 12:20:36 -0000 1.2 --- SimpleIndicatorTest.java 14 May 2007 16:05:55 -0000 1.3 *************** *** 1,29 **** package net.sf.tail.indicator.simple; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; - - import net.sf.tail.Tick; import net.sf.tail.TickTimeSeries; import net.sf.tail.TimeSeries; public abstract class SimpleIndicatorTest { private TimeSeries timeSeries; ! public TimeSeries getTimeSeries() { return timeSeries; } ! ! public void initialize() ! { ! List<Tick>ticksTest = new ArrayList<Tick>(); double i = 0.0; for (int j = 0; j < 10; j++) { ! Tick tick = new Tick(new Timestamp(System.currentTimeMillis()), i, i+1, i+2, i+3, i+4, i+5, i+6, i+7, (int)(i+8)); ticksTest.add(tick); i++; ! } timeSeries = new TickTimeSeries(ticksTest); --- 1,45 ---- package net.sf.tail.indicator.simple; + import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import net.sf.tail.Tick; import net.sf.tail.TickTimeSeries; import net.sf.tail.TimeSeries; + /* + * TODO: Os testes devem ser auto-explicativos. Devem servir como + * documentação do código testado. Por isso, acho ruim ter que ficar navegando + * na hierarquia para entender o teste. Reaproveitar o TimeSeries sequencial não + * justifica a herança. Nesse caso acho melhor fazer uma outra classe que estende + * TimeSeries (como fizemos com o SampleTimeSeries) que é instanciado nos testes + * que vão utilizar. (dtsato) + */ public abstract class SimpleIndicatorTest { private TimeSeries timeSeries; ! public TimeSeries getTimeSeries() { return timeSeries; } ! ! /* ! * TODO: Por que isso não é instanciado no construtor? Todo filho ! * precisa saber que esse método deve ser chamado sempre? (dtsato) ! */ ! public void initialize() { ! List<Tick> ticksTest = new ArrayList<Tick>(); ! /* ! * TODO: Por que iterar no j e usar o i? Dá pra iterar no i e transformar ! * as somas em double na hora de instanciar o Tick. ! */ double i = 0.0; for (int j = 0; j < 10; j++) { ! Tick tick = new Tick(new Timestamp(System.currentTimeMillis()), i, ! i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, ! (int) (i + 8)); ticksTest.add(tick); i++; ! } timeSeries = new TickTimeSeries(ticksTest); Index: ChangePriceIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/simple/ChangePriceIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangePriceIndicatorTest.java 14 May 2007 12:04:03 -0000 1.2 --- ChangePriceIndicatorTest.java 14 May 2007 16:05:55 -0000 1.3 *************** *** 7,10 **** --- 7,14 ---- import junit.framework.JUnit4TestAdapter; + /* + * TODO: Os TODOs dessa classe valem para os outros testes de indicadores + * simples. (dtsato) + */ public class ChangePriceIndicatorTest extends SimpleIndicatorTest { private ChangeIndicator changeIndicator; *************** *** 18,23 **** --- 22,34 ---- @Test + // TODO: Nomenclatura: testIndicatorShouldRetrieveTickChangePrice public void testChange() { + /* + * TODO: Não está legÃvel esse teste. Eu preferia algo assim: + * timeSeries.getTick(i).getChangePrice() + * (dtsato) + * Esse código assume que você sabe como o ts foi instanciado. + */ for (int i = 0; i < 10; i++) { assertEquals(changeIndicator.getValue(i), (double)(i + 4)); *************** *** 27,30 **** --- 38,42 ---- public void testWrongIndex() { + // TODO: não precisa do assertEquals se a idéia é soltar a exceção. (dtsato) assertEquals(changeIndicator.getValue(10), 0.0); } |