public void ProductSites() { var products = ContractProductReaderStub.Products(); var sites = ContractProductSiteReaderStub.Sites(); var result = SiteVolumeCalculator.ProductSites(products, sites); Assert.AreEqual(3, result.ElementAt(0).ContractProductId); }
public void IsVolumeAvailableForContractProductSite() { var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.AllVolumes(); var actualResult = SiteVolumeCalculator.IsVolumeAvailableForContractProductSite(sites, volumes); Assert.AreEqual(true, actualResult); }
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 TotalContractedVolumeForNoVolumeAvailableContract() { var contract = ContractReaderStub.Contract(); var contracts = ContractReaderStub.Contracts(); var products = ContractProductReaderStub.Products(); var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.PreviousSiteVolumes(); var forecaster = new SiteVolumeCalculator(); var totalContractedSiteVolume = forecaster.TotalContractedVolume(contract, contracts, products, sites, volumes); Assert.AreEqual(150, totalContractedSiteVolume); }
public void DecoupleSiteVolumeCalculatorFromForecaster() { var contract = ContractReaderStub.Contract(); var contracts = ContractReaderStub.Contracts(); var products = ContractProductReaderStub.Products(); var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.SomeVolumes(); var volumeCalculator = new SiteVolumeCalculator(); var volumeForecaster = new SiteVolumeForecaster(volumeCalculator); var actualResult = volumeForecaster.TotalContractedVolume( contract, contracts, products, sites, volumes); Assert.AreEqual(250, actualResult); }
[TestMethod] public void NotAllVolumesAvailableAndNotNoVolumesAvailableContract() { var contract = ContractReaderStub.Contract(); var contracts = ContractReaderStub.Contracts(); var products = ContractProductReaderStub.Products(); var sites = ContractProductSiteReaderStub.Sites(); var volumes = ContractProductSiteVolumeReaderStub.NotAllVolumeNotNoVolume(); var forecaster = new SiteVolumeCalculator(); var actualResult = forecaster.TotalContractedVolume( contract, contracts, products, sites, volumes ); Assert.AreEqual(250, 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); }