Builder FJ16

Estou estudando a apostila FJ16. No inicio da apostila diz sobre construtores com muitos atributos, que uma solução seria construir um builder…
e se mandar um vetor para substituir os parametros?? :smiley: porco?

oinc

kkk seriao? nao vejo porqueira! é um vetor pow… quem recebe ja tem que ter os parametros no lugar certo… nao é mesmo? oque difere?

Qual a solução melhor?

e + uma coisa…

esse test é pra funcionar? esta igual ao da apostila

@Test
	public void testSemnegocios(){
		Calendar hoje = Calendar.getInstance();
		
		List<Negocio> negocios = Arrays.asList();
		
		CandlestickFactory fabrica = new CandlestickFactory();
		Candlestick candle = fabrica.constroiCandleParaData(hoje, negocios);
		
		Assert.assertEquals(0.0, candle.getVolume(), 0.00001);
		
		
	}

Ou nao… rs

cade a classe? ehehe

O codigo mínimo para o teste rodar esta abaixo, mas voce nao tem as implementaçoes ai?

do jeito abaixo só vai rodar, mas não vejo o objetivo do teste

import java.util.Arrays;
import java.util.Calendar;
import java.util.List;

import org.junit.Assert;
import org.junit.Test;

	

public class Teste{

	@Test  
	public void testSemNegocios(){  
	        Calendar hoje = Calendar.getInstance();  
	          
	        List&lt;Negocio&gt; negocios = Arrays.asList();  
	          
	        CandleStickFactory fabrica = new CandleStickFactory();  
	        CandleStick candle = fabrica.constroiCandleParaData(hoje, negocios);  
	          
	        Assert.assertEquals(0.0, candle.getVolume(), 0.00001);  
	          
	          
	    }
	
}

class Negocio {
	//?? não tem nada aqui?

}

class CandleStickFactory{
	public CandleStick constroiCandleParaData(Calendar hoje, List&lt;Negocio&gt; negocios){		
		//? aqui tb não?
		return new CandleStick();
	}
}

class CandleStick{
	private float volume = 10.00F;

	public float getVolume() {
		return volume;
	}

	public void setVolume(float volume) {
		this.volume = volume;
	}


}

Essa é a negocio

[code]public class Negocio {
private double preco;
private int quantidade;
private Calendar data;

public Negocio(double preco, int quantidade, Calendar data) {
	this.preco = preco;
	this.quantidade = quantidade;
	this.data = data;
}

public double getPreco() {
	return preco;
}

public int getQuantidade() {
	return quantidade;
}

public Calendar getData() {
	return data;
}

public double getVolume() {
	return preco * quantidade;
}[/code]

e implementando ela ai nao funcionou?

mew to perdido nao sei nem o porque do código, vou dar uma relida (quer dizer… vou ler direito pela primeira vez kkk) dai eu volto e digo oque esta acontecendo… parece ser simples, deve ser um detalhe bobo estou na pagina 36 da fj-16

Bom é exatamente isso… porem nao sei se a apostila quer que eu resolva o teste ou faça com que o teste espere as exceptions que apareceram…
sao dois erros. Uma é obvio que é indexOfBounds. Pois o teste nao insere nenhum negocio na lista.

List<Negocio> negocios = Arrays.asList();

Da pra fazer com que ele espere uma indexOfBounds? ou tem que arrumar mesmo?

Agora o outro é por causa disso aqui

Candlestick candle = fabrica.constroiCandleParaData(hoje, negocios);

mas nao sei porque.