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