public void IsVolumeAvailableForContractProductSite() { var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var actualResult = SiteVolumeCalculator.IsVolumeAvailableForContractProductSite(sites, volumes); Assert.AreEqual(true, actualResult); }
public void SiteVolumesForTheContract() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var actualResult = SiteVolumeCalculator.SiteVolumesForContract(contract, volumes); Assert.AreEqual(200, actualResult.ElementAt(0).Volume); Assert.AreEqual(100, actualResult.ElementAt(1).Volume); }
public void SiteVolumes() { var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var contractProductSiteVolumes = SiteVolumeCalculator.SiteVolumes(sites, volumes); Assert.AreEqual(200, contractProductSiteVolumes.ElementAt(0).Volume); Assert.AreEqual(100, contractProductSiteVolumes.ElementAt(1).Volume); }
public void CurrentContractVolumes() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var actualResult = SiteVolumeCalculator.CurrentContractVolumes(contract, volumes); Assert.AreEqual(200, actualResult.ElementAt(0).Volume); Assert.AreEqual(20, actualResult.ElementAt(0).SiteId); Assert.AreEqual(new DateTime(2016, 1, 1), actualResult.ElementAt(0).BillingMonth); Assert.AreEqual(100, actualResult.ElementAt(1).Volume); Assert.AreEqual(20, actualResult.ElementAt(1).SiteId); Assert.AreEqual(new DateTime(2016, 2, 1), actualResult.ElementAt(1).BillingMonth); }
public void TotalSiteVolume() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var allSiteVolumesForTheContract = SiteVolumeCalculator.SiteVolumesForContract(contract, volumes); var groupedSiteVolumes = SiteVolumeCalculator.GroupedSiteVolumes(allSiteVolumesForTheContract); var totalContractedSiteVolume = SiteVolumeCalculator.TotalSiteVolume(groupedSiteVolumes); Assert.AreEqual(300, totalContractedSiteVolume); }
public void IsAllVolumesExistForTheContract() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var expectedBillingMonths = SiteVolumeCalculator.ExpectedBillingMonthsForTheContract(contract); var actualBillingMonths = SiteVolumeCalculator.BillingMonths(volumes); var totalNumberOfMissingBillingMonths = SiteVolumeCalculator.MissingBillingMonths( expectedBillingMonths, actualBillingMonths); var actualResult = SiteVolumeCalculator.IsAllVolumesExistForTheContract( totalNumberOfMissingBillingMonths); Assert.AreEqual(true, actualResult); }
public void TotalContractedVolumeForAllVolumeAvailableContract() { var contract = ContractReaderStub.Contract(); var contracts = ContractReaderStub.Contracts(); var products = ContractProductReaderStub.Products(); var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var forecaster = new SiteVolumeCalculator(); var actualResult = forecaster.TotalContractedVolume( contract, contracts, products, sites, volumes ); Assert.AreEqual(300, actualResult); }
public void GroupedSiteVolumes() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var allSiteVolumesForTheContract = SiteVolumeCalculator.SiteVolumesForContract(contract, volumes); var groupedSiteVolumes = SiteVolumeCalculator.GroupedSiteVolumes(allSiteVolumesForTheContract); Assert.AreEqual(200, groupedSiteVolumes.ElementAt(0).Volume); Assert.AreEqual(new DateTime(2016, 1, 1), groupedSiteVolumes.ElementAt(0).BillingMonth); Assert.AreEqual(20, groupedSiteVolumes.ElementAt(0).SiteId); Assert.AreEqual(100, groupedSiteVolumes.ElementAt(1).Volume); Assert.AreEqual(new DateTime(2016, 2, 1), groupedSiteVolumes.ElementAt(1).BillingMonth); Assert.AreEqual(20, groupedSiteVolumes.ElementAt(1).SiteId); }