public List<Candle> constroiCandles(List<Negociacao> todasNegociacoes) { List<Candle> candles = new ArrayList<Candle>(); List<Negociacao> negociacaoDoDia = new ArrayList<Negociacao>(); Calendar dataAtual = todasNegociacoes.get(0).getData(); for (Negociacao negociacao : todasNegociacoes) { if (!negociacao.isMesmoDia(dataAtual)) { Candle candleDoDia = constroiCandleParaData(dataAtual, negociacaoDoDia); candles.add(candleDoDia); negociacaoDoDia = new ArrayList<Negociacao>(); dataAtual = negociacao.getData(); } negociacaoDoDia.add(negociacao); } Candle candleDoDia = constroiCandleParaData(dataAtual, negociacaoDoDia); candles.add(candleDoDia); return candles; }
@Test public void mesmoDiaEMesMasAnosDiferentesNaoSaoDoMesmoDia() { Calendar maio2011 = new GregorianCalendar(2011, 4, 20); Calendar maio2012 = new GregorianCalendar(2012, 4, 20); Negociacao negociacao = new Negociacao(40.0, 100, maio2011); Assert.assertFalse(negociacao.isMesmoDia(maio2012)); }
@Test public void mesmoDiaMasMesesDiferentesNaoSaoDoMesmoDia() { Calendar junho = new GregorianCalendar(2011, 5, 20); Calendar setembro = new GregorianCalendar(2011, 8, 20); Negociacao negociacao = new Negociacao(40.0, 100, junho); Assert.assertFalse(negociacao.isMesmoDia(setembro)); }
@Test public void mesmoMilissegundoEhDoMesmoDia() { Calendar agora = Calendar.getInstance(); Calendar mesmoMomento = (Calendar) agora.clone(); Negociacao negociacao = new Negociacao(40.0, 100, agora); Assert.assertTrue(negociacao.isMesmoDia(mesmoMomento)); }
@Test public void comHorariosDiferentesEhNoMesmoDia() { // usando GregorianCalendar(ano, mes, dia, hora, minuto) Calendar manha = new GregorianCalendar(2011, 10, 20, 8, 30); Calendar tarde = new GregorianCalendar(2011, 10, 20, 15, 30); Negociacao negociacao = new Negociacao(40.0, 100, manha); Assert.assertTrue(negociacao.isMesmoDia(tarde)); }
public List<Candle> constroiCandles(List<Negociacao> todasNegociacoes) { List<Candle> candles = new ArrayList<Candle>(); List<Negociacao> negociacoesDoDia = new ArrayList<Negociacao>(); Calendar dataAtual = todasNegociacoes.get(0).getData(); for (Negociacao negociacao : todasNegociacoes) { if (!negociacao.isMesmoDia(dataAtual)) { criaEGuardaCandle(candles, negociacoesDoDia, dataAtual); negociacoesDoDia = new ArrayList<Negociacao>(); dataAtual = negociacao.getData(); } negociacoesDoDia.add(negociacao); } criaEGuardaCandle(candles, negociacoesDoDia, dataAtual); return candles; }
public List<Candle> constroiCandles(List<Negociacao> todasNegociacoes) { List<Candle> candles = new ArrayList<Candle>(); List<Negociacao> negociacoesDoDia = new ArrayList<Negociacao>(); Calendar dataAtual = todasNegociacoes.get(0).getData(); for (Negociacao negociacao : todasNegociacoes) { // se não for mesmo dia, fecha candle e reinicia variáveis if (!negociacao.isMesmoDia(dataAtual)) { criaEGuardaCandle(candles, negociacoesDoDia, dataAtual); negociacoesDoDia = new ArrayList<Negociacao>(); dataAtual = negociacao.getData(); } negociacoesDoDia.add(negociacao); } // adiciona último candle criaEGuardaCandle(candles, negociacoesDoDia, dataAtual); return candles; }