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));
  }
Пример #6
0
  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;
  }