public void AdaptStringTest() { var adapter = AdapterChain.Create(new CharSplitAdapter(split), new StringZipAdapter(Headers)); var result = adapter.Adapt(TestFirstString); Assert.AreEqual(ExpectedFirst, result); }
public IAdapter <string, T> Create(string headerString) { var headers = headerAdapter.Adapt(headerString); var stringToDictionaryAdapter = AdapterChain.Create(bodyAdapter, new StringZipAdapter(headers)); return(AdapterChain.Create(stringToDictionaryAdapter, objectAdapter)); }
public void AdaptFileName() { var filePath = Path.GetFullPath("C:/a/long/path/to/pathfilename.txt"); var dateTimeProvider = new ConstantDateTimeProvider(new DateTime(2010, 1, 1, 13, 30, 30)); var adapter = AdapterChain.Create( new InsertPreExtensionTimestampFilePathAdapter(dateTimeProvider), new ReplaceInFileNameFilePathAdapter("path", "new"), new InsertPreExtensionFilePathAdapter("extra"), new AppendDirectoryFilePathAdapter("extend"), new ModifyExtensionFilePathAdapter("csv") ); // act var result = adapter.Adapt(filePath); // assert var expected = Path.GetFullPath("C:/a/long/path/to/extend/newfilename20100101133030000extra.csv"); Assert.AreEqual(expected, result); }
public void ParseStreamTest() { // arrange string TestString = TestFirstString + Environment.NewLine + TestSecondString; var adapter = AdapterChain.Create(new CharSplitAdapter(split), new StringZipAdapter(Headers)); List <IReadOnlyDictionary <string, string> > parsed = new List <IReadOnlyDictionary <string, string> >(); using (var s = new MemoryStream(Encoding.UTF8.GetBytes(TestString))) using (StreamReader sr = new StreamReader(s)) using (var stream = new LineReadStream(sr)) using (var adapterStream = new AdapterReadStream <string, IReadOnlyDictionary <string, string> >(adapter, stream)) { // act while (adapterStream.IsDataAvailable()) { parsed.Add(adapterStream.ReadFromStream()); } } // assert Assert.AreEqual(ExpectedFirst, parsed[0]); Assert.AreEqual(ExpectedSecond, parsed[1]); }
public IAdapter <string, IReadOnlyDictionary <string, string> > Create(string headerString) { var headers = headerAdapter.Adapt(headerString); return(AdapterChain.Create(bodyAdapter, new StringZipAdapter(headers))); }