public void IsContractProductSiteVolumesAvailable() { var filePath = string.Empty;; var reader = new ContractProductSiteVolumeReaderStub(filePath); var datafile = new ContractProductSiteVolumeData(reader); var result = datafile.IsVolumesAvailable(); Assert.IsTrue(result); }
public void IsContractHasSomeVolume() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.SomeVolumes(); var actualResult = SiteVolumeCalculator.IsContractHasSomeVolume(contract, volumes); Assert.AreEqual(true, actualResult); }
public void EmptyContractProductSiteVolumes() { var filePath = string.Empty;; var reader = new ContractProductSiteVolumeReaderStub(filePath); var dataFile = new ContractProductSiteVolumeData(reader); var result = dataFile.EmptyVolumes(); Assert.AreEqual(0, result.Count()); }
public void ContractProductSiteVolumesFileNotFound() { var filePath = string.Empty;; var reader = new ContractProductSiteVolumeReaderStub(filePath); var dataFile = new ContractProductSiteVolumeData(reader); var isFileFound = false; dataFile.VolumeFileNotFound(isFileFound); }
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 AllContractProductSiteVolumes() { var filePath = "ContractProductSiteVolumes.xml"; var reader = new ContractProductSiteVolumeReaderStub(filePath); var datafile = new ContractProductSiteVolumeData(reader); var repository = new ContractProductSiteVolumeRepository(datafile); var result = repository.Records(); Assert.AreEqual(100, result.ElementAt(0).Volume); Assert.AreEqual(002, result.ElementAt(0).SiteId); Assert.AreEqual(new DateTime(2018, 5, 3), result.ElementAt(0).BillingMonth); }
public void AllContractProductSiteVolumes() { var filePath = string.Empty;; var reader = new ContractProductSiteVolumeReaderStub(filePath); var dataFile = new ContractProductSiteVolumeData(reader); var result = dataFile.Records(); Assert.AreEqual(100, result.ElementAt(0).Volume); Assert.AreEqual(002, result.ElementAt(0).SiteId); Assert.AreEqual(new DateTime(2018, 5, 3), result.ElementAt(0).BillingMonth); }
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 IsNoVolumeContract() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.NoVolumes(); var allSiteVolumesForTheContract = SiteVolumeCalculator.SiteVolumesForContract(contract, volumes); var result = SiteVolumeCalculator.IsNoVolumeContract(allSiteVolumesForTheContract); Assert.AreEqual(true, result); }
public void MissingBillingMonths() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.NoVolumes(); var expectedBillingMonths = SiteVolumeCalculator.ExpectedBillingMonthsForTheContract(contract); var actualBillingMonths = SiteVolumeCalculator.BillingMonths(volumes); var missingBillingMonths = SiteVolumeCalculator.MissingBillingMonths( expectedBillingMonths, actualBillingMonths); Assert.AreEqual(2, missingBillingMonths); }
public void CurrentContractBillingMonths() { var contract = ContractReaderStub.Contract(); var volumes = ContractProductSiteVolumeReaderStub.SomeVolumes(); var siteVolumes = SiteVolumeCalculator.SiteVolumesForContract(contract, volumes); var billingMonths = SiteVolumeCalculator.BillingMonths( siteVolumes); Assert.AreEqual(1, billingMonths[0].Item1); Assert.AreEqual(2016, billingMonths[0].Item2); }
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 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 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 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 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); }
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); }