Esempio n. 1
0
        public void EventTrackerHasZeroEvents_CalculateFailed()
        {
            //arrange
            var userId  = Guid.NewGuid();
            var tracker = new EventTracker(Guid.NewGuid(), Guid.NewGuid(), "Tracker name",
                                           new TrackerCustomizationSettings());

            var(events, _) = CreateEventsWithRating(tracker.Id, userId, 0);
            _eventRepository.AddRangeOfEvents(events);
            var allEvents = _eventRepository.LoadAllTrackerEvents(tracker.Id);

            //act
            var fact = new AverageRatingCalculator().Calculate(allEvents, tracker, _now)
                       .ConvertTo <AverageRatingTrackerFact>();

            //assert
            Assert.True(fact.IsNone);
        }
Esempio n. 2
0
        public void EventTrackerHasOnlyRatingEvents_CalculateSuccess()
        {
            //arrange
            var userId  = Guid.NewGuid();
            var tracker = CreateTrackerWithDefaultCustomization(userId);

            var(events, ratings) =
                CreateEventsWithRating(tracker.Id, userId, _rand.Next() % 10 + MinEventForCalculation);
            _eventRepository.AddRangeOfEvents(events);
            var allEvents = _eventRepository.LoadAllTrackerEvents(tracker.Id);

            //act
            var fact = new AverageRatingCalculator().Calculate(allEvents, tracker, _now)
                       .ConvertTo <AverageRatingTrackerFact>().ValueUnsafe();



            //assert
            Assert.AreEqual(Math.Sqrt(ratings.Average()), fact.Priority);
            Assert.AreEqual(ratings.Average(), fact.AverageRating);
        }