Exemplo n.º 1
0
        public async Task ShouldParseGuardActionsAndGroupByGuardId(Mock <IAdventHttpClient> adventClient)
        {
            // Arrange
            adventClient.Setup(c => c.GetInputStringListAsync(It.IsAny <string>())).ReturnsAsync(GetGuardActions());

            var adventInput = new AdventInputProvider(adventClient.Object);

            // Act
            var guards       = (await adventInput.GetGuards()).ToList();
            var guardActions = guards.First(g => g.Id == 1).Actions;

            // Asset
            Assert.Equal(3, guards.Count());

            Assert.Equal(ActionType.BeginsShift, guardActions[0].Type);
            Assert.Equal(DateTime.Parse("1518-01-01 00:01"), guardActions[0].Timestamp);

            Assert.Equal(ActionType.FallsAsleep, guardActions[1].Type);
            Assert.Equal(ActionType.WakesUp, guardActions[2].Type);

            Assert.Equal(ActionType.BeginsShift, guardActions[3].Type);
            Assert.Equal(DateTime.Parse("1518-07-01 00:01"), guardActions[3].Timestamp);
        }