public void Should_ThrowException_When_InputIsNullOrEmpty(string input) { // Arrange var productParser = new ProductParser(); // Act & Assert Assert.Throws <ArgumentException>(() => productParser.TryParse(input, out Product _)); }
public void ShouldNot_ParseProduct_When_BadProductInput(string input) { // Arrange var productParser = new ProductParser(); // Act var result = productParser.TryParse(input, out Product product); // Assert Assert.False(result); Assert.Null(product); }
public void Should_CalculateTaxCorrectly(string input, decimal expectedTax) { using (new CultureOverride(CultureInfo.InvariantCulture)) { // Arrange var taxManager = TaxManager.Instance; var productParser = new ProductParser(); productParser.TryParse(input, out Product product); // Act var tax = taxManager.CalculateTax(product); // Assert Assert.Equal(expectedTax, tax); } }
public void Should_ParseProductCorrectly(string input, ProductOrigin expectedOrigin, string expectedDescription, decimal expectedPrice, int expectedQuantity) { using (new CultureOverride(CultureInfo.InvariantCulture)) { // Arrange var productParser = new ProductParser(); // Act var result = productParser.TryParse(input, out Product product); // Assert Assert.True(result); Assert.Equal(expectedOrigin, product.Origin); Assert.Equal(expectedDescription, product.Description); Assert.Equal(expectedQuantity, product.Quantity); Assert.Equal(expectedPrice, product.Price); Assert.Equal(expectedPrice * expectedQuantity, product.Amount); } }