diff --git a/UnitTestProject/LinqUnitTests.cs b/UnitTestProject/LinqUnitTests.cs index decf5bd..4a55d16 100644 --- a/UnitTestProject/LinqUnitTests.cs +++ b/UnitTestProject/LinqUnitTests.cs @@ -20,6 +20,9 @@ public class LinqUnitTests private List transactions; private List originalTransactions; + private const string PRODUCT_NAME_CHIPS = "Chips"; + private const string USERNAME_JASON = "Jason"; + [SetUp] public void Test_Initialize() { @@ -66,7 +69,7 @@ public void Test_WhatIsTheTotalNumberOfTransactions() [Test] public void Test_WhatIsTheTotalQuantityPurchased() { - var result = ""; // TODO + var result = transactions.Sum(s => s.Quantity); Assert.AreEqual(3001, result); } @@ -74,7 +77,9 @@ public void Test_WhatIsTheTotalQuantityPurchased() [Test] public void Test_WhatIsTheTotalQuantityPurchasedIn2016() { - var result = ""; // TODO + var result = transactions + .Where(s => s.Date.Year == 2016) + .Sum(s => s.Quantity); Assert.AreEqual(1160, result); } @@ -82,15 +87,17 @@ public void Test_WhatIsTheTotalQuantityPurchasedIn2016() [Test] public void Test_WhatIsTheTotalQuantityPurchasedInThePast7Days() { - var result = ""; // TODO - + var result = transactions + .Where(s => s.Date <= DateTime.Today && s.Date >= DateTime.Today.AddDays(-7)) + .Sum(s => s.Quantity); + Assert.AreEqual(32, result); } [Test] public void Test_HowManyTransactionsBoughtMoreThan1Quantity() { - var result = ""; // TODO + var result = transactions.Count(s=>s.Quantity > 1); Assert.AreEqual(1001, result); } @@ -98,7 +105,8 @@ public void Test_HowManyTransactionsBoughtMoreThan1Quantity() [Test] public void Test_HowManyTransactionsOccuredOnSundays() { - var result = ""; // TODO + var result = transactions + .Count(t => t.Date.DayOfWeek == DayOfWeek.Sunday); Assert.AreEqual(267, result); } @@ -106,7 +114,8 @@ public void Test_HowManyTransactionsOccuredOnSundays() [Test] public void Test_WhatIsTheAverageQuantityPurchased() { - var result = 0; // TODO + var result = transactions + .Average(s => s.Quantity); Assert.AreEqual(1.5005, result, 0.0001); } @@ -114,15 +123,21 @@ public void Test_WhatIsTheAverageQuantityPurchased() [Test] public void Test_HowManyBagsOfChipsHaveBeenBought() { - var result = ""; // TODO + var result = transactions + .Where(a => a.ProductName == PRODUCT_NAME_CHIPS) + .Sum(a => a.Quantity); Assert.AreEqual(390, result); } + Func JasonBoughtChips = a => a.UserName == USERNAME_JASON && a.ProductName == PRODUCT_NAME_CHIPS; + [Test] public void Test_HowManyBagsOfChipsHasJasonBought() { - var result = ""; // TODO + var result = transactions + .Where(JasonBoughtChips) + .Sum(a => a.Quantity); Assert.AreEqual(44, result); } @@ -130,7 +145,11 @@ public void Test_HowManyBagsOfChipsHasJasonBought() [Test] public void Test_HowManyBagsOfChipsDidJasonBuyIn2015() { - var result = ""; // TODO + var result = transactions + .Where(JasonBoughtChips) + .Where(a=> a.Date.Year == 2015) + .Sum(a => a.Quantity); + Assert.AreEqual(33, result); } @@ -138,7 +157,10 @@ public void Test_HowManyBagsOfChipsDidJasonBuyIn2015() [Test] public void Test_HowManyBagsOfChipsDidJasonBuyInMay2016() { - var result = ""; // TODO + var result = transactions + .Where(JasonBoughtChips) + .Where(a=>a.Date.Month == 5 && a.Date.Year == 2016) + .Sum(a=>a.Quantity); Assert.AreEqual(2, result); } @@ -146,8 +168,11 @@ public void Test_HowManyBagsOfChipsDidJasonBuyInMay2016() [Test] public void Test_WhatProductSellsTheMostBetween12And1PM() { + //var result = transactions + // .Where(a => a.Date.TimeOfDay > new TimeSpan(12, 0, 0) && a.Date.TimeOfDay < new TimeSpan(13, 0, 0)) + // .Select(a => new { a.ProductName, a.Quantity }) + // . var result = ""; // TODO - Assert.AreEqual("Candy", result); }