public void EmptyContractProducts() { var filePath = string.Empty;; var reader = new ContractProductReaderStub(filePath); var dataFile = new ContractProductData(reader); var result = dataFile.EmptyProducts(); Assert.AreEqual(0, result.Count()); }
public void AllContractProducts() { var filePath = string.Empty;; var reader = new ContractProductReaderStub(filePath); var dataFile = new ContractProductData(reader); var result = dataFile.Records(); Assert.AreEqual(1, result.ElementAt(0).Id); Assert.AreEqual(30, result.ElementAt(0).ContractAmendmentId); }
public void IsContractProductAvailable() { var filePath = string.Empty;; var reader = new ContractProductReaderStub(filePath); var datafile = new ContractProductData(reader); var result = datafile.IsProductAvailable(); Assert.IsTrue(result); }
public void AllContractProducts() { var filePath = "ContractProducts.xml"; var reader = new ContractProductReaderStub(filePath); var datafile = new ContractProductData(reader); var repository = new ContractProductRepository(datafile); var result = repository.Records(); Assert.AreEqual(1, result.ElementAt(0).Id); Assert.AreEqual(30, result.ElementAt(0).ContractAmendmentId); }
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); }