From 538e38be363d7e845eccfe3063a8a4159f1a3861 Mon Sep 17 00:00:00 2001 From: VarianChrisMacKinnon Date: Wed, 31 Aug 2016 16:22:04 -0500 Subject: [PATCH] Problem Solving Follow-up --- UnitTestProject/LinqUnitTests.cs | 45 ++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/UnitTestProject/LinqUnitTests.cs b/UnitTestProject/LinqUnitTests.cs index decf5bd..53129b1 100644 --- a/UnitTestProject/LinqUnitTests.cs +++ b/UnitTestProject/LinqUnitTests.cs @@ -66,7 +66,7 @@ public void Test_WhatIsTheTotalNumberOfTransactions() [Test] public void Test_WhatIsTheTotalQuantityPurchased() { - var result = ""; // TODO + var result = transactions.Sum(t => t.Quantity); Assert.AreEqual(3001, result); } @@ -74,7 +74,9 @@ public void Test_WhatIsTheTotalQuantityPurchased() [Test] public void Test_WhatIsTheTotalQuantityPurchasedIn2016() { - var result = ""; // TODO + var result = transactions + .Where(t => t.Date.Year == 2016) + .Sum(t => t.Quantity); Assert.AreEqual(1160, result); } @@ -82,7 +84,9 @@ public void Test_WhatIsTheTotalQuantityPurchasedIn2016() [Test] public void Test_WhatIsTheTotalQuantityPurchasedInThePast7Days() { - var result = ""; // TODO + var result = transactions + .Where(t => t.Date > DateTime.Today.AddDays(-7)) + .Sum(t => t.Quantity); Assert.AreEqual(32, result); } @@ -90,7 +94,8 @@ public void Test_WhatIsTheTotalQuantityPurchasedInThePast7Days() [Test] public void Test_HowManyTransactionsBoughtMoreThan1Quantity() { - var result = ""; // TODO + var result = transactions + .Count(trans => trans.Quantity > 1); Assert.AreEqual(1001, result); } @@ -98,7 +103,8 @@ public void Test_HowManyTransactionsBoughtMoreThan1Quantity() [Test] public void Test_HowManyTransactionsOccuredOnSundays() { - var result = ""; // TODO + var result = transactions + .Count(trans => trans.Date.DayOfWeek == DayOfWeek.Sunday); Assert.AreEqual(267, result); } @@ -106,7 +112,7 @@ public void Test_HowManyTransactionsOccuredOnSundays() [Test] public void Test_WhatIsTheAverageQuantityPurchased() { - var result = 0; // TODO + var result = transactions.Average(trans => trans.Quantity); Assert.AreEqual(1.5005, result, 0.0001); } @@ -114,7 +120,9 @@ public void Test_WhatIsTheAverageQuantityPurchased() [Test] public void Test_HowManyBagsOfChipsHaveBeenBought() { - var result = ""; // TODO + var result = transactions + .Where(trans => trans.ProductName.Equals("Chips")) + .Sum(trans => trans.Quantity); Assert.AreEqual(390, result); } @@ -122,7 +130,9 @@ public void Test_HowManyBagsOfChipsHaveBeenBought() [Test] public void Test_HowManyBagsOfChipsHasJasonBought() { - var result = ""; // TODO + var result = transactions + .Where(trans => trans.ProductName.Equals("Chips") && trans.UserName.Equals("Jason")) + .Sum(trans => trans.Quantity); Assert.AreEqual(44, result); } @@ -130,7 +140,11 @@ public void Test_HowManyBagsOfChipsHasJasonBought() [Test] public void Test_HowManyBagsOfChipsDidJasonBuyIn2015() { - var result = ""; // TODO + var result = transactions + .Where(trans => trans.ProductName.Equals("Chips") + && trans.UserName.Equals("Jason") + && trans.Date.Year == 2015) + .Sum(trans => trans.Quantity); Assert.AreEqual(33, result); } @@ -138,7 +152,12 @@ public void Test_HowManyBagsOfChipsDidJasonBuyIn2015() [Test] public void Test_HowManyBagsOfChipsDidJasonBuyInMay2016() { - var result = ""; // TODO + var result = transactions + .Where(trans => trans.ProductName.Equals("Chips") + && trans.UserName.Equals("Jason") + && trans.Date.Year == 2016 + && trans.Date.Month == 5) + .Sum(trans => trans.Quantity); Assert.AreEqual(2, result); } @@ -146,8 +165,12 @@ public void Test_HowManyBagsOfChipsDidJasonBuyInMay2016() [Test] public void Test_WhatProductSellsTheMostBetween12And1PM() { - var result = ""; // TODO + var result = transactions + .Where(trans => trans.Date.Hour == 12) + .GroupBy(trans => trans.ProductName, trans => trans.Quantity, (key, values) => new { ProductName = key, Quantities = values.Sum() }) + .OrderByDescending(group => group.Quantities).First().ProductName; + Assert.AreEqual("Candy", result); }