Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1992/src/test/net/sf/tail/graphics
Added Files:
FlowDatasetTest.java
Log Message:
Classe para carregar um dataset atravez do cashflow e sua classe de teste. Classe que gera um chart do valor da ação combinado com o cashflow.
--- NEW FILE: FlowDatasetTest.java ---
package net.sf.tail.graphics;
import static junit.framework.Assert.assertEquals;
import java.util.LinkedList;
import java.util.List;
import net.sf.tail.DefaultTimeSeries;
import net.sf.tail.Operation;
import net.sf.tail.OperationType;
import net.sf.tail.Tick;
import net.sf.tail.TimeSeries;
import net.sf.tail.Trade;
import net.sf.tail.flow.CashFlow;
import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Test;
public class FlowDatasetTest {
TimeSeries series;
CashFlow cashFlow;
List<Trade> trades;
List<Tick> ticks;
@Before
public void setUp() throws Exception {
ticks = new LinkedList<Tick>();
ticks.add(new Tick(new DateTime().withDate(2007,6,6),1d));
ticks.add(new Tick(new DateTime().withDate(2007,6,7),2d));
ticks.add(new Tick(new DateTime().withDate(2007,6,8),3d));
ticks.add(new Tick(new DateTime().withDate(2007,6,9),4d));
series = new DefaultTimeSeries(ticks);
trades = new LinkedList<Trade>();
Operation entry = new Operation(0,OperationType.BUY);
Operation exit = new Operation(1,OperationType.SELL);
trades.add(new Trade(entry,exit));
entry = new Operation(2,OperationType.BUY);
exit = new Operation(3,OperationType.SELL);
trades.add(new Trade(entry,exit));
cashFlow = new CashFlow(series, trades);
}
@Test
public void testDefaultConstructor(){
CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3);
assertEquals(cashFlow.getSize(), dataset.getRowCount());
assertEquals(series.getSize(), dataset.getColumnCount());
assertEquals(4d, dataset.getValue(1, 1));
}
@Test
public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){
CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3);
dataset.moveRight();
assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount());
assertEquals(series.getSize(), dataset.getColumnCount());
assertEquals(2d, dataset.getValue(3, 1));
}
@Test
public void testMoveLeftWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){
CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3);
dataset.moveLeft();
assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount());
assertEquals(series.getSize(), dataset.getColumnCount());
assertEquals(2d, dataset.getValue(3, 1));
}
@Test
public void testMoveRight(){
ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d));
series = new DefaultTimeSeries(ticks);
cashFlow = new CashFlow(series, trades);
CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3);
dataset.moveRight();
assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount());
assertEquals(series.getSize() - 1, dataset.getColumnCount());
assertEquals(3d, dataset.getValue(1, 1));
}
@Test
public void testMoveLeft(){
ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d));
series = new DefaultTimeSeries(ticks);
cashFlow = new CashFlow(series, trades);
CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3);
dataset.moveRight();
dataset.moveLeft();
assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount());
assertEquals(series.getSize() - 1, dataset.getColumnCount());
assertEquals(4d, dataset.getValue(1, 1));
}
}
|