internal void GivenSponsoredProductsAreBeingAddedAndRemovedFromTheSpotsByDuration_TheSponsoredProductsWillContainsAllCompetitorsValuesInTheSpots()
        {
            var runningTotal = new SmoothSponsorshipRunningTotals();

            runningTotal.AddSponsoredProductToSpotByDuration("p1", Duration.FromMinutes(1));
            runningTotal.AddSponsoredProductToSpotByDuration("p2", Duration.FromMinutes(2));
            runningTotal.AddSponsoredProductToSpotByDuration("p3", Duration.FromMinutes(5));
            runningTotal.AddSponsoredProductToSpotByDuration("p1", Duration.FromMinutes(3));
            runningTotal.AddSponsoredProductToSpotByDuration("p2", Duration.FromMinutes(1));
            runningTotal.RemoveSponsoredProductToSpotByDuration("p1", Duration.FromMinutes(2));
            runningTotal.RemoveSponsoredProductToSpotByDuration("p3", Duration.FromMinutes(5));
            runningTotal.RemoveSponsoredProductToSpotByDuration("p4", Duration.FromMinutes(5));

            Assert.Equal(new ProductExternalReference[] { "p1", "p2" }, runningTotal.SponsoredProducts.Keys.ToArray());
            Assert.Equal(120, runningTotal.SponsoredProducts["p1"]);
            Assert.Equal(180, runningTotal.SponsoredProducts["p2"]);
        }