コード例 #1
0
        public void ShouldGetHeadToHeadRecord()
        {
            var helper = new Mock <IDbHelper>();

            //given
            var dictionary = new Dictionary <string, object>
            {
                { "PlayerOneWins", 2 },
                { "PlayerTwoWins", 2 },
                { "TotalDraws", 0 },
                { "TotalMatches", 4 },
                { "HomeUser", "Arsenal" },
                { "AwayUser", "Villa" },
                { "HomeScore", 3 },
                { "AwayScore", 0 },
                { "ResultId", Guid.NewGuid() },
            };

            helper.Setup(x => x.ExecuteReader("up_HeadToHeadRecord", It.IsAny <object>())).Returns(
                DataReaderTestHelper.MultipleResultsReader(dictionary, new Queue <bool>(new[] { true, false, true, false })));

            var repository = new ResultsRepository(helper.Object);

            //when
            var resultsModels = repository.GetHeadToHeadRecord(It.IsAny <int>(), It.IsAny <int>());

            //then
            Assert.That(resultsModels.TotalMatches, Is.EqualTo(4));
            Assert.That(resultsModels.TotalDraws, Is.EqualTo(0));
            Assert.That(resultsModels.PlayerOneWins, Is.EqualTo(2));
            Assert.That(resultsModels.PlayerTwoWins, Is.EqualTo(2));
            Assert.That(resultsModels.Results.Count, Is.EqualTo(1));
            Assert.That(resultsModels.Results.First().AwayScore, Is.EqualTo(0));
            Assert.That(resultsModels.Results.First().AwayTeam, Is.EqualTo("Villa"));
            Assert.That(resultsModels.Results.First().HomeScore, Is.EqualTo(3));
            Assert.That(resultsModels.Results.First().HomeTeam, Is.EqualTo("Arsenal"));
            Assert.That(resultsModels.Results.First().ResultId, Is.EqualTo(dictionary["ResultId"]));
        }