static void CheckBug() { List <IProduct> books = new List <IProduct>(); PaperBook TolkienPaperBook1 = new PaperBook("Silmarillion", "Tolkien", 500); books.Add(TolkienPaperBook1); PaperBook TolkienPaperBook2 = new PaperBook("Hobbit", "Tolkien", 300); books.Add(TolkienPaperBook2); PaperBook ZelaznyPaperBook1 = new PaperBook("Nine Princes in Amber", "Zelazny", 400); books.Add(ZelaznyPaperBook1); DeliveryCalculator calculator = new DeliveryCalculator(); ActionProvider provider = new ActionProvider(); ShoppingCart cart = new ShoppingCart(calculator, provider); List <IPromo> listOfPromos = new List <IPromo> { }; IPromo promo1 = new PercentDiscountPromo(20); listOfPromos.Add(promo1); IPromo promo2 = new FreeBookPromo(ZelaznyPaperBook1); listOfPromos.Add(promo2); decimal finalPrice = cart.GetTotalPrice(books, listOfPromos); Console.WriteLine(finalPrice); }
public void GetCost_UnknownType_ThrowsException() { Assert.Throws <System.ArgumentException>(() => { DeliveryCalculator.GetCost(new object()); }); }
public void GetCost_Envelope_DistanceEqualsCost(int distance) { var envelope = new Envelope(distance); var actualCost = DeliveryCalculator.GetCost(envelope); Assert.That(actualCost, Is.EqualTo(distance)); }
public void GetCost_Meal_FixedCost( bool isHot, double expectedCost) { var meal = new Meal(isHot); var actualCost = DeliveryCalculator.GetCost(meal); Assert.That(actualCost, Is.EqualTo(expectedCost)); }
public void GetCost_HeavyPackage_ProductOfDistance( [Values(100, 200, 300)] int distance, [Values(10, 20)] int weight) { var package = new Package(distance, weight); var actualCost = DeliveryCalculator.GetCost(package); var expectedCost = distance * 3; Assert.That(actualCost, Is.EqualTo(expectedCost)); }
public void GetCost_LightPackage_ProductOfDistance( [Random(0, 100, 5)] int distance, [Random(0, 9, 5)] int weight) { var package = new Package(distance, weight); var actualCost = DeliveryCalculator.GetCost(package); var expectedCost = distance * 2; Assert.That(actualCost, Is.EqualTo(expectedCost)); }
static void PercentDiscount() { List <IProduct> books = new List <IProduct>(); PaperBook TolkienPaperBook1 = new PaperBook("Silmarillion", "Tolkien", 500); books.Add(TolkienPaperBook1); PaperBook TolkienPaperBook2 = new PaperBook("Hobbit", "Tolkien", 300); books.Add(TolkienPaperBook2); DeliveryCalculator calculator = new DeliveryCalculator(); ActionProvider provider = new ActionProvider(); ShoppingCart cart = new ShoppingCart(calculator, provider); IPromo promo = new PercentDiscountPromo(20); List <IPromo> listOfPromos = new List <IPromo> { promo }; decimal finalPrice = cart.GetTotalPrice(books, listOfPromos); Console.WriteLine(finalPrice); }
static void TenPercentForJournals() { List <IProduct> books = new List <IProduct>(); PaperJournal WhiteDwarf1 = new PaperJournal("WhiteDwarf1", "GW", 100, 2020, 1); books.Add(WhiteDwarf1); PaperJournal WhiteDwarf2 = new PaperJournal("WhiteDwarf2", "GW", 200, 2020, 3); books.Add(WhiteDwarf2); PaperJournal WhiteDwarf3 = new PaperJournal("WhiteDwarf3", "GW", 300, 2020, 5); books.Add(WhiteDwarf3); PaperJournal WhiteDwarf4 = new PaperJournal("WhiteDwarf4", "GW", 400, 2020, 6); books.Add(WhiteDwarf4); PaperJournal WhiteDwarf5 = new PaperJournal("WhiteDwarf5", "GW", 500, 2020, 7); books.Add(WhiteDwarf5); PaperJournal WhiteDwarf6 = new PaperJournal("WhiteDwarf5", "GW", 500, 2020, 11); books.Add(WhiteDwarf6); DeliveryCalculator calculator = new DeliveryCalculator(); ActionProvider provider = new ActionProvider(); ShoppingCart cart = new ShoppingCart(calculator, provider); List <IPromo> listOfPromos = new List <IPromo>(); decimal finalPrice = cart.GetTotalPrice(books, listOfPromos); Console.WriteLine(finalPrice); }
static void FreeEBookAction() { List <IProduct> books = new List <IProduct>(); PaperBook TolkienPaperBook1 = new PaperBook("Silmarillion", "Tolkien", 500); books.Add(TolkienPaperBook1); PaperBook TolkienPaperBook2 = new PaperBook("Hobbit", "Tolkien", 300); books.Add(TolkienPaperBook2); EBook TolkienEBook1 = new EBook("Fellowship of the ring", "Tolkien", 300); books.Add(TolkienEBook1); DeliveryCalculator calculator = new DeliveryCalculator(); ActionProvider provider = new ActionProvider(); ShoppingCart cart = new ShoppingCart(calculator, provider); List <IPromo> listOfPromos = new List <IPromo>(); decimal finalPrice = cart.GetTotalPrice(books, listOfPromos); Console.WriteLine(finalPrice); }
static void OnlyEBooks() { List <IProduct> books = new List <IProduct>(); EBook ZelaznyEBook1 = new EBook("The Hand of Oberon", "Zelazny", 400); books.Add(ZelaznyEBook1); EBook ZelaznyEBook2 = new EBook("The Courts of Chaos", "Zelazny", 900); books.Add(ZelaznyEBook2); EBook TolkienEBook1 = new EBook("Fellowship of the ring", "Tolkien", 300); books.Add(TolkienEBook1); DeliveryCalculator calculator = new DeliveryCalculator(); ActionProvider provider = new ActionProvider(); ShoppingCart cart = new ShoppingCart(calculator, provider); List <IPromo> listOfPromos = new List <IPromo>(); decimal finalPrice = cart.GetTotalPrice(books, listOfPromos); Console.WriteLine(finalPrice); }
public void Setup() { _fileReader = new FileReader(); _deliveryCalculator = new DeliveryCalculator(); }
public DeliveryCalculatorTests() { _sut = new DeliveryCalculator(); }