public VideoGame(VideoGameBuilder builder) : base(builder.GetName(), builder.GetPrice(), builder.GetManufacturerName(), builder.GetAgeLimit()) { platform = builder.GetPlatform(); genre = builder.GetGenre(); mode = builder.GetMode(); style = builder.GetStyle(); }
public void CalcularImposto_de_videogame_usado__deve_retornar_25porcento_do_preco() { VideoGame videoGame = VideoGameBuilder.Novo().Usado(true).ConstruirCompleto(); var imposto = videoGame.CalculaImposto(); var valorDe25porCento = videoGame.preco * 0.25; Assert.Equal(expected: valorDe25porCento, actual: imposto); }
public void CalculaPatrimonio__deve_retornar_o_preco_total_com_imposto_de_todos_os_produtos() { var livros = new List <Livro>() { LivroBuilder .Novo() .ComPreco(10) .ComQtd(1) .ComTema("Educativo") .ConstruirCompleto(), // (10 + 0) * 1 = 10 LivroBuilder .Novo() .ComPreco(20) .ComQtd(2) .ComTema("Aventura") .ConstruirCompleto(), // 20 * 2 = 40 }; // Patrimonio -> 10 + 40 => 50 var videoGames = new List <VideoGame>() { VideoGameBuilder .Novo() .ComPreco(100) .ComQtd(2) .Usado(false) .ConstruirCompleto(), // 100 * 2 = 200 VideoGameBuilder .Novo() .ComPreco(50) .ComQtd(4) .Usado(true) .ConstruirCompleto(), // 50 * 4 = 200 }; // Patrimonio -> 200 + 200 => 400 Loja loja = LojaBuilder .Novo() .ComLivros(livros) .ComVideoGames(videoGames) .Construir(); // Patrimonio Total -> 50 + 400 => 450 var patrimonio = loja.CalculaPatrimonio(); Assert.Equal(expected: 450, actual: patrimonio); }