public void o_método_WriteLine_deve_chamar_o_mesmo_método_de_todos_as_instâncias_adicionados() { // Arrange, Given var multipleOutput = new MultipleOutput() as IMultipleOutput; var totalDeInstâncias = this.Fixture <int>(); for (var i = 0; i < totalDeInstâncias; i++) { multipleOutput.Add(Substitute.For <IOutput>()); } // Act, When var qualquerTexto = this.Fixture <string>(); multipleOutput.WriteLine(qualquerTexto); // Assert, Then foreach (var instance in multipleOutput.Instances) { instance.Received(1).WriteLine(qualquerTexto); } }
public void os_métodos_Write_e_WriteLine_devem_retornar_uma_auto_referência() { // Arrange, Given var multipleOutput = new MultipleOutput() as IMultipleOutput; // Act, When var retornoWrite = multipleOutput.Write(string.Empty); var retornoWriteLine = multipleOutput.WriteLine(string.Empty); // Assert, Then retornoWrite.Should().BeSameAs(retornoWriteLine); retornoWriteLine.Should().BeSameAs(multipleOutput); }