public void ContractProductSitesFileNotFound() { var filePath = string.Empty;; var reader = new ContractProductSiteReaderStub(filePath); var dataFile = new ContractProductSiteData(reader); var isFileFound = false; dataFile.SitesFileNotFound(isFileFound); }
public void EmptyContractProductSites() { var filePath = string.Empty;; var reader = new ContractProductSiteReaderStub(filePath); var dataFile = new ContractProductSiteData(reader); var result = dataFile.EmptySites(); Assert.AreEqual(0, result.Count()); }
public void IsContractProductSiteAvailable() { var filePath = string.Empty;; var reader = new ContractProductSiteReaderStub(filePath); var dataFile = new ContractProductSiteData(reader); var result = dataFile.IsSitesAvailable(); Assert.IsTrue(result); }
public void AllContractProductSites() { var filePath = string.Empty;; var reader = new ContractProductSiteReaderStub(filePath); var dataFile = new ContractProductSiteData(reader); var result = dataFile.Records(); Assert.AreEqual(1, result.ElementAt(0).ContractProductId); Assert.AreEqual(002, result.ElementAt(0).SiteId); }
public void AllContractProductSites() { var filePath = "ContractProductSites.xml"; var reader = new ContractProductSiteReaderStub(filePath); var datafile = new ContractProductSiteData(reader); var repository = new ContractProductSiteRepository(datafile); var result = repository.Records(); Assert.AreEqual(1, result.ElementAt(0).ContractProductId); Assert.AreEqual(002, result.ElementAt(0).SiteId); }
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); }