public async Task TestStoryGenerates() { var interpreter = new SkillFlowInterpreter(); interpreter.AddCoreExtensions(); Story story = null; using (var reader = File.OpenRead("Examples/story.abc")) { story = await interpreter.Interpret(reader); } var expected = File.ReadAllLines("Examples/story.abc"); var actual = new string[] { }; var mem = new MemoryStream(); var context = new TextGeneratorContext(mem); var generator = new TextGenerator.TextGenerator(); await generator.Generate(story, context); mem.Position = 0; using (var reader = new StreamReader(mem)) { actual = reader.ReadToEnd().Split(context.LineEnding); } foreach (var set in expected.Zip(actual)) { Assert.Equal(set.First.Trim(), set.Second.Trim()); } }
private async Task <string> OutputStory(Story story) { var stream = new MemoryStream(); var context = new TextGeneratorContext(stream) { LineEnding = "\n" }; var generator = new TextGenerator.TextGenerator(); await generator.Generate(story, context); return(ToText(stream)); }