public void PerformAnalysisGroupCampaignKPIsCalculation_AndSomeRecommendationsAreZeroRated_ShouldReturnAnalysisGroupCampaignKPI_WithZeroRatedSpots()
        {
            //Arrange
            _recommendations[0].SpotRating = 0;
            var expected = new AnalysisGroupCampaignKPI
            {
                RatingsDelivery    = 300,
                DeliveryPercentage = 10.00,
                RevenueBooked      = 400,
                PoolValue          = 100,
                Spots          = 151,
                ZeroRatedSpots = 1
            };

            //Act
            var result = GenerateKPIs();

            //Assert
            result.Should().BeEquivalentTo(expected, becauseArgs: null);
        }
        public void PerformAnalysisGroupCampaignKPIsCalculation_AndAllRecommendationsAreBooked_ShouldReturnAnalysisGroupCampaignKPI_WithIncreasedSpots()
        {
            //Arrange
            _recommendations[1].Action = BookedItem;
            var expected = new AnalysisGroupCampaignKPI
            {
                RatingsDelivery    = 500,
                DeliveryPercentage = 16.67,
                RevenueBooked      = 500,
                PoolValue          = 200,
                Spots          = 153,
                ZeroRatedSpots = 0
            };

            //Act
            var result = GenerateKPIs();

            //Assert
            result.Should().BeEquivalentTo(expected, becauseArgs: null);
        }
        public void PerformAnalysisGroupCampaignKPICalculation_ShouldReturnAnalysisGroupCampaignKPI()
        {
            //Arrange
            var expected = new AnalysisGroupCampaignKPI
            {
                RatingsDelivery    = 400,
                DeliveryPercentage = 13.33,
                RevenueBooked      = 400,
                PoolValue          = 100,
                Spots          = 151,
                ZeroRatedSpots = 0
            };

            //Act
            var result = GenerateKPIs();

            //Assert
            _ = result.Should().BeOfType <AnalysisGroupCampaignKPI>();
            result.Should().BeEquivalentTo(expected, becauseArgs: null);
        }