public void ParseFile() { var factory = new CifParserFactory(Substitute.For <ILogger>()); var parser = factory.CreateParser(); var records = parser.Read(Reader).ToArray(); Assert.IsType <Header>(records[0]); Assert.IsType <Trailer>(records[records.Length - 1]); }
public static IRecord[] ParseRecords(string data) { var input = new StringReader(data); var factory = new CifParserFactory(Substitute.For <ILogger>()); var parser = factory.CreateParser(); var records = parser.Read(input).ToArray(); return(records); }
public void CannotEnuerateTwice() { var records = @"HDTPS.UDFROC1.PD1901292901191927DFROC1MDFROC1LUA290119290120 ZZ "; var input = new StringReader(records); var factory = new CifParserFactory(Substitute.For <ILogger>()); var parser = factory.CreateParser(); var enumerable = parser.Read(input); var first = enumerable.ToArray(); Assert.Throws <InvalidOperationException>(() => enumerable.ToArray()); }