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 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 IsContractProductSiteVolumesAvailable() { var filePath = string.Empty;; var reader = new ContractProductSiteVolumeReaderStub(filePath); var datafile = new ContractProductSiteVolumeData(reader); var result = datafile.IsVolumesAvailable(); Assert.IsTrue(result); }
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 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); }
private static decimal TotalContractedVolume(long contractId) { var contractFile = Path.GetFullPath(@"..\..\DataFiles\Contracts.xml"); var contractProductFile = Path.GetFullPath(@"..\..\DataFiles\ContractProducts.xml"); var contractProductSiteFile = Path.GetFullPath(@"..\..\DataFiles\ContractProductSites.xml"); var siteVolumeFile = Path.GetFullPath(@"..\..\DataFiles\SiteVolumes.xml"); var calculculator = new SiteVolumeCalculator(); var forecaster = new SiteVolumeForecaster(calculculator); var contractReader = new ContractReader(contractFile); var contractData = new ContractData(contractReader); var contractRepo = new ContractRepository(contractData); var contractProductReader = new ContractProductReader(contractProductFile); var contractProductData = new ContractProductData(contractProductReader); var productsRepo = new ContractProductRepository(contractProductData); var contractProductSiteReader = new ContractProductSiteReader(contractProductSiteFile); var contractProductSiteData = new ContractProductSiteData(contractProductSiteReader); var sitesRepo = new ContractProductSiteRepository(contractProductSiteData); var contractProductSiteVolumeReader = new ContractProductSiteVolumeReader(siteVolumeFile); var contractProductSiteVolumeData = new ContractProductSiteVolumeData(contractProductSiteVolumeReader); var volumesRepo = new ContractProductSiteVolumeRepository(contractProductSiteVolumeData); var contract = contractRepo.Contract(x => x.Id == contractId); var contracts = contractRepo.Contracts().ToList(); var contractProducts = productsRepo.Records().ToList(); var contractProductSites = sitesRepo.Records().ToList(); var siteVolumes = volumesRepo.Records().ToList(); var total = forecaster.TotalContractedVolume(contract, contracts, contractProducts, contractProductSites, siteVolumes); return(total); }