public void DisplaysPollStatitstics()
        {
            var pollId   = 1;
            var counter1 = new Counter {
                Name = "One", Count = 2
            };
            var counter2 = new Counter {
                Name = "Two", Count = 1
            };

            var counterStats1 = new CounterStatistics {
                Name = "One", Count = 2, Percent = 60
            };
            var counterStats2 = new CounterStatistics {
                Name = "Two", Count = 1, Percent = 40
            };
            var counterStats = new List <CounterStatistics> {
                counterStats1, counterStats2
            };

            var poll = new VotingPoll
            {
                Title       = "title",
                Description = "desc",
                Counters    = new List <Counter> {
                    counter1, counter2
                }
            };

            _mockPersistance.Setup(x => x.GetPoll(pollId)).Returns(poll);
            _mockCounterManager.Setup(x => x.GetStatistics(poll.Counters)).Returns(counterStats);

            var interactor = new StatisticsInteractor(
                _mockPersistance.Object,
                _mockCounterManager.Object);

            var pollStatistics = interactor.GetStatistics(pollId);

            Assert.Equal(poll.Title, pollStatistics.Title);
            Assert.Equal(poll.Description, pollStatistics.Description);

            var stats1 = pollStatistics.Counters[0];

            Assert.Equal(counterStats1.Name, stats1.Name);
            Assert.Equal(counterStats1.Count, stats1.Count);
            Assert.Equal(counterStats1.Percent, stats1.Percent);

            var stats2 = pollStatistics.Counters[1];

            Assert.Equal(counterStats2.Name, stats2.Name);
            Assert.Equal(counterStats2.Count, stats2.Count);
            Assert.Equal(counterStats2.Percent, stats2.Percent);

            _mockCounterManager.Verify(x => x.ResolveExcess(counterStats), Times.Once);
        }
Esempio n. 2
0
        public void DisplaysPollStatistics()
        {
            var pollId = 1;
            var poll   = new VotingPoll
            {
                Title       = "title",
                Description = "desc",
                Counters    = new List <Counter>
                {
                    new Counter {
                        Name = "One"
                    },
                    new Counter {
                        Name = "Two"
                    }
                }
            };

            _mockPersistance.Setup(x => x.GetPoll(pollId)).Returns(poll);

            var interactor = new StatisticsInteractor(_mockPersistance.Object);

            var pollStatistics = interactor.GetStatistics(pollId);
        }