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); }
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); }