Пример #1
0
        public async Task GetCandidatesAverageAsync_ShouldReturnTheAverageOfTheCandidatesScores()
        {
            // Arrange
            mock.Setup(m => m.GetCandidatesAsync())
            .Returns(Task.Run(() => PopulateCandidates()));

            var    candidatesBusiness = new CandidatesBusiness(mock.Object, autoMapperConfiguration.CreateMapper());
            double expected           = CreateCandidatesWithResultsTests().Average(c => c.Score);

            // Act
            double actual = await candidatesBusiness.GetCandidatesAverageAsync();

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public async Task GetCandidatesStantdardDeviationAsync_ShouldReturnTheStandardDeviationOfTheCandidatesScores()
        {
            // Arrange
            mock.Setup(m => m.GetCandidatesAsync())
            .Returns(Task.Run(() => PopulateCandidates()));

            var               candidatesBusiness = new CandidatesBusiness(mock.Object, autoMapperConfiguration.CreateMapper());
            double            avg                    = CreateCandidatesWithResultsTests().Average(c => c.Score);
            IEnumerable <int> scoresArray            = CreateCandidatesWithResultsTests().Select(c => c.Score);
            double            sumOfSquareDifferences = scoresArray.Select(s => Math.Pow(s - avg, 2)).Sum();
            double            expected               = Math.Sqrt(sumOfSquareDifferences / scoresArray.Count());

            // Act
            double actual = await candidatesBusiness.GetCandidatesStantdardDeviationAsync();

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public async Task GetCandidates_ShouldReturnAllCandidatesWithTheirScores()
        {
            // Arrange
            mock.Setup(m => m.GetCandidatesAsync())
            .Returns(Task.Run(() => PopulateCandidates()));

            var candidatesBusiness = new CandidatesBusiness(mock.Object, autoMapperConfiguration.CreateMapper());
            var expected           = CreateCandidatesWithResultsTests();

            // Act
            var actual = await candidatesBusiness.GetCandidatesAsync();

            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count(), actual.Count());
            for (int i = 0; i < expected.Count(); i++)
            {
                Assert.AreEqual(expected.ElementAt(i).TestTitle, actual.ElementAt(i).TestTitle);
                Assert.AreEqual(expected.ElementAt(i).Score, actual.ElementAt(i).Score);
            }
        }