public void TestStreamSegmentAnalyser() { using (var fs = GetStream()) using (var parser = new StreamSegmentParser(fs).SetDelimiter(',').SetCacheSize(64)) using (var analyser = new StreamSegmentAnalyser(parser)) { var segments = parser.ReadSegments().ToList(); var seqEqual = segments.SequenceEqual("abcdef".ToCharArray().Select(x => x.ToString())); Assert.IsTrue(seqEqual); } Stream GetStream() { var raw = "a,b,c,d,e,f"; var encoded = Encoding.UTF8.GetBytes(raw); return(new MemoryStream(encoded)); } }
/// <summary> /// Returns an ordered collection of stringsegment and occurance count. /// </summary> /// <param name="parser"></param> /// <param name="token">When set, the operation can be canceled</param> /// <returns></returns> public IEnumerable <SegmentAnalyzerResult> Analyze(StreamSegmentParser parser, CancellationToken token = default) { return(Analyze(parser.ReadSegments(token), token)); }