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