public async Task <RetrievedDataModel> ExecuteProcess(string pathIn) { try { var retrievedDataModel = new RetrievedDataModel(); var fileLines = new List <FileLine>(); var lines = await _retrieveDataService.GetData(pathIn); foreach (var line in lines) { var splitter = _builderSplitter.GetSplitter(line, _separator); var result = await splitter.Extract(); if (result is CustomerModel) { retrievedDataModel.Custumers.Add((CustomerModel)result); } else if (result is SalesmanModel) { retrievedDataModel.Salesmans.Add((SalesmanModel)result); } else if (result is SalesDataModel) { retrievedDataModel.SalesData.Add((SalesDataModel)result); } } return(retrievedDataModel); } catch (Exception ex) { return(null); } }
public void ShouldGetCorrectSplitter(Type splitterType, string line, string separator) { ISplitter splitter = _builderSplitter.GetSplitter(line, separator); splitter.GetType().Should().Be(splitterType); }