public void GetResult_SomeAnswerCorrect_InCorrectShouldBeAsExpected()
        {
            // arrange
            _resultsGenerator = new ResultsGenerator();
            var inputAnswers = new List <Answer>
            {
                new Answer()
                {
                    Id = 1, ActualNumber = 2, ExpectedNumber = 2, Time = 0
                },
                new Answer()
                {
                    Id = 2, ActualNumber = 3, ExpectedNumber = 3, Time = 10
                },
                new Answer()
                {
                    Id = 3, ActualNumber = 5, ExpectedNumber = 4, Time = 20
                }
            };

            // act
            var actualResult = _resultsGenerator.GetResult(inputAnswers);

            // assert
            Assert.AreEqual(1, actualResult.Incorrect);
        }
        public void GetResult_AllAnswerCorrect_TimeIdsShouldBeAsExpected()
        {
            // arrange
            _resultsGenerator = new ResultsGenerator();
            var inputAnswers = new List <Answer>
            {
                new Answer()
                {
                    Id = 1, ActualNumber = 2, ExpectedNumber = 2, Time = 0
                },
                new Answer()
                {
                    Id = 2, ActualNumber = 3, ExpectedNumber = 3, Time = 10
                },
                new Answer()
                {
                    Id = 3, ActualNumber = 4, ExpectedNumber = 4, Time = 20
                }
            };

            // act
            var actualResult = _resultsGenerator.GetResult(inputAnswers);

            // assert
            var expected = new List <int>()
            {
                1, 2, 3
            };

            CollectionAssert.AreEqual(expected, actualResult.ResponseTimesId);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ResultController"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="resultsGenerator">The results generator.</param>
 public ResultController(ILogger <ResultController> logger, IResultsGenerator resultsGenerator)
 {
     _logger           = logger;
     _resultsGenerator = resultsGenerator;
 }