public void RemoveUnitsThrowsExceptionNegativeInput() { //arrange var sut = new GoodItem(); //act //assert System.Exception ex = Assert.Throws <WeLoveTaxesDomainException>(() => sut.RemoveUnits(-5)); }
public void RemoveUnitsThrowsExceptionNegativeResult() { //arrange var sut = new GoodItem(24, 1, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act //assert System.Exception ex = Assert.Throws <WeLoveTaxesDomainException>(() => sut.RemoveUnits(-2)); }
public void CtorSetsNullDiscountRateToNull() { //arrange //act var sut = new GoodItem(15M, 2, true, GoodItemTypeEnum.Book, null, new GoodItemDetails()); //assert Assert.Equal(0, sut.GetDiscountRate()); }
public void GetPriceReturnsUnitMultipliedByUnitPrice(decimal unitPrice, int units) { //arrange //act var sut = new GoodItem(unitPrice, units, true, GoodItemTypeEnum.Book, null, new GoodItemDetails()); //assert Assert.Equal(sut.GetUnitPrice() * sut.GetUnits(), sut.GetPrice()); }
public void RoundUpPriceToUpperFiveCents(decimal amount, decimal expectedAmount) { //arrange //act var actual = GoodItem.RoundUpPrice(amount); //assert Assert.Equal(expectedAmount, actual); }
public void SetUnitPriceThrowsExceptionNegativeInput(decimal newPrice) { //arrange var sut = new GoodItem(24, 2, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act //assert System.Exception ex = Assert.Throws <WeLoveTaxesDomainException>(() => sut.SetUnitPrice(newPrice)); }
public void RemoveUnitsWorksFine() { //arrange var sut = new GoodItem(24, 2, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act sut.RemoveUnits(1); //assert Assert.Equal(1, sut.GetUnits()); }
public void AddUnitsWorksFine() { //arrange var sut = new GoodItem(24, 1, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act sut.AddUnits(7); //assert Assert.Equal(8, sut.GetUnits()); }
public OrderTests() { _good1 = new GoodItem(15.8M, 1, true, GoodItemTypeEnum.Book, null, new GoodItemDetails(), Guid.NewGuid()); _good2 = new GoodItem(1.783M, 2, false, GoodItemTypeEnum.MedicalProduct, null, new GoodItemDetails(), Guid.NewGuid()); _good3 = new GoodItem(33.75M, 3, true, GoodItemTypeEnum.Other, null, new GoodItemDetails(), Guid.NewGuid()); _good4 = new GoodItem(4.18M, 4, false, GoodItemTypeEnum.Other, null, new GoodItemDetails(), Guid.NewGuid()); _genericGoodItems = new List <GoodItem> { _good1, _good2, _good3, _good4 }; }
public void GetSalesTaxProcessBothTaxes() { //arrange var sut = new GoodItem(24, 1, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act var salesTax = sut.GetSalesTax(); //assert Assert.True(3.6M == salesTax); //15% }
public void GetSalesTaxProcessRegularTax() { //arrange var sut = new GoodItem(24, 1, false, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act var salesTax = sut.GetSalesTax(); //assert Assert.True(2.4M == salesTax); //10% }
public void GetSalesTaxProcessImportTax() { //arrange var sut = new GoodItem(24, 1, true, GoodItemTypeEnum.MedicalProduct, null, new GoodItemDetails()); //act var salesTax = sut.GetSalesTax(); //assert Assert.True(1.2M == salesTax); //5% }
public void CtorAreSynced() { //arrange //act var sut1 = new GoodItem(15m, 2, true, GoodItemTypeEnum.Book, null, new GoodItemDetails(), Guid.NewGuid()); var sut2 = new GoodItem(sut1); //assert Assert.True(sut1.Equals(sut2)); Assert.True(sut2.Equals(sut1)); }
public void SetUnitPriceWorksFine() { //arrange var newPrice = 43.489M; var sut = new GoodItem(24, 2, true, GoodItemTypeEnum.Other, null, new GoodItemDetails()); //act sut.SetUnitPrice(newPrice); //assert Assert.Equal(newPrice, sut.GetUnitPrice()); }
public void AddGoodItemAddsNewItem() { //arrange var newGoodItem = new GoodItem(9.99M, 5, false, GoodItemTypeEnum.Other, null, new GoodItemDetails("new item"), Guid.NewGuid()); var sut = new Order(_genericGoodItems); //act sut.AddGoodItem(newGoodItem); //assert Assert.Contains(newGoodItem, sut.GoodItems); }
public void GetTotalPriceReturnsSumPriceSalesTax() { //arrange var sut = new GoodItem(24, 1, false, GoodItemTypeEnum.Other, null, new GoodItemDetails()); var expectedTotalPrice = sut.GetSalesTax() + sut.GetPrice(); //act var actualTotal = sut.GetTotalPrice(); //assert Assert.True(expectedTotalPrice == actualTotal); }
public void AddGoodItem(GoodItem goodItem) { var existingOrderForProduct = _goodItems .SingleOrDefault(o => Equals(o, goodItem)); if (existingOrderForProduct != null) { existingOrderForProduct.AddUnits(goodItem.GetUnits()); } else { var orderItem = new GoodItem(goodItem); _goodItems.Add(orderItem); } }
public void AddGoodItemAddsUnitsExistingItem() { //arrange var good2Duplicate = new GoodItem(_good2); var sut = new Order(_genericGoodItems); var initialGoodItemCount = sut.GoodItems.Count; //act sut.AddGoodItem(good2Duplicate); var units = sut.GoodItems.FirstOrDefault(x => x.Equals(good2Duplicate))?.GetUnits(); //assert Assert.Equal(4, units); Assert.Equal(initialGoodItemCount, sut.GoodItems.Count); }
public GoodItem(GoodItem item) { //set units _units = 0; AddUnits(item.GetUnits()); //set unit price SetUnitPrice(item.GetUnitPrice()); Id = item.Id; _isImported = item.GetImportStatus(); _isTaxExempt = item.GetExemptStatus(); _discountRate = item.GetDiscountRate(); _goodItemType = item.GetItemType(); Details = item.Details; }