public void Test1() { //assume GetEvents is working as expected, because I'm too lazy to set up the data again :) var events = Functions.GetEvents(new GetEvents().SampleInput); var result = Functions.WhichMinuteWasGuardAsleepTheMost(10, events); Assert.AreEqual(24, result); }
public void Test1() { //assume GetEvents is working as expected, because I'm too lazy to set up the data again :) var events = Functions.GetEvents(new GetEvents().SampleInput); var result = Functions.WhichGuardHasSleepiestMinute(events); Assert.AreEqual(99, result.Item1); Assert.AreEqual(45, result.Item2); }
public void Test1() { var result = Functions.GetEvents(SampleInput); Assert.IsNotNull(result); Assert.AreEqual(5, result.Count); //-------------------------------------- var event1 = result[0]; Assert.AreEqual(10, event1.Id); Assert.AreEqual(new DateTime(1518, 11, 01), event1.Date); var asleep = Enumerable.Range(0, 59) .Where(i => event1.Asleep[i]) .ToList(); var expected = new List <int>(); expected.AddRange(Enumerable.Range(5, 20)); //5 to 24 expected.AddRange(Enumerable.Range(30, 25)); //30 to 54 CollectionAssert.AreEqual(expected, asleep); //-------------------------------------- var event2 = result[1]; Assert.AreEqual(99, event2.Id); Assert.AreEqual(new DateTime(1518, 11, 02), event2.Date); asleep = Enumerable.Range(0, 59) .Where(i => event2.Asleep[i]) .ToList(); expected = new List <int>(); expected.AddRange(Enumerable.Range(40, 10)); //40 to 49 CollectionAssert.AreEqual(expected, asleep); //-------------------------------------- var event3 = result[2]; Assert.AreEqual(10, event3.Id); Assert.AreEqual(new DateTime(1518, 11, 03), event3.Date); asleep = Enumerable.Range(0, 59) .Where(i => event3.Asleep[i]) .ToList(); expected = new List <int>(); expected.AddRange(Enumerable.Range(24, 5)); //24 to 28 CollectionAssert.AreEqual(expected, asleep); //-------------------------------------- var event4 = result[3]; Assert.AreEqual(99, event4.Id); Assert.AreEqual(new DateTime(1518, 11, 04), event4.Date); asleep = Enumerable.Range(0, 59) .Where(i => event4.Asleep[i]) .ToList(); expected = new List <int>(); expected.AddRange(Enumerable.Range(36, 10)); //36 to 45 CollectionAssert.AreEqual(expected, asleep); //-------------------------------------- var event5 = result[4]; Assert.AreEqual(99, event5.Id); Assert.AreEqual(new DateTime(1518, 11, 05), event5.Date); asleep = Enumerable.Range(0, 59) .Where(i => event5.Asleep[i]) .ToList(); expected = new List <int>(); expected.AddRange(Enumerable.Range(45, 10)); //45 to 54 CollectionAssert.AreEqual(expected, asleep); }