public void ItCreatesAnEmptyItemPricesArray() { var items = new object[] { }; var itemsString = JsonConvert.SerializeObject(items); var itemPrices = ItemPricesDeserializer.Create(itemsString); Assert.AreEqual(0, itemPrices.Count); }
public void ItCreatesABasicReceiptWithBogoPromotion() { var items = new object[] { new { Name = "Apples", Price = 2, Promotion = new { Type = "BOGO" } } }; var itemsString = JsonConvert.SerializeObject(items); var itemPrices = ItemPricesDeserializer.Create(itemsString); Assert.IsInstanceOfType(itemPrices[0].Promotion, typeof(BuyOneGetOneFree)); }
public void ItCreatesABasicReceiptWithBogoPercentPromotion() { var items = new object[] { new { Name = "Apples", Price = 1, Promotion = new { Type = "BOGO-PERCENT", DiscountPercent = 50 } } }; var itemsString = JsonConvert.SerializeObject(items); var itemPrices = ItemPricesDeserializer.Create(itemsString); Assert.IsInstanceOfType(itemPrices[0].Promotion, typeof(BuyOneGetOnePercentOff)); Assert.AreEqual(50, (itemPrices[0].Promotion as BuyOneGetOnePercentOff).DiscountPercent); }
public void ItCreatesABasicReceiptWithMultiBuyPromotion() { var items = new object[] { new { Name = "Apples", Price = 4, Promotion = new { Type = "MULTI-BUY", Price = 5, Quantity = 2 } } }; var itemsString = JsonConvert.SerializeObject(items); var itemPrices = ItemPricesDeserializer.Create(itemsString); Assert.IsInstanceOfType(itemPrices[0].Promotion, typeof(MultiBuy)); Assert.AreEqual(5, (itemPrices[0].Promotion as MultiBuy).Price); Assert.AreEqual(2, (itemPrices[0].Promotion as MultiBuy).Quantity); }
public void ItCreatesAnItemPricesArray() { var items = new object[] { new { Name = "Apples", Price = 1 } }; var itemsString = JsonConvert.SerializeObject(items); var itemPrices = ItemPricesDeserializer.Create(itemsString); Assert.AreEqual(1, itemPrices.Count); Assert.AreEqual("Apples", itemPrices[0].Name); Assert.AreEqual(1, itemPrices[0].Price); }