public void ErrorInConfigAfterLambdaExpansionContainsCorrectLineNumbers() { // Given RemoveListener(); Engine engine = new Engine(); FileSystem fileSystem = new FileSystem(); Config config = new Config(engine, fileSystem); string configScript = @" Assemblies.Load(""""); === Pipelines.Add( Content(true && @doc.Get<bool>(""Key"") == false ) ); foo bar; "; // When AggregateException exception = null; try { config.Configure(configScript, false, null, false); } catch (AggregateException ex) { exception = ex; } // Then Assert.AreEqual(1, exception.InnerExceptions.Count); StringAssert.StartsWith("Line 10", exception.InnerExceptions[0].Message); }
public void CanSetCustomDocumentFactory() { // Given Engine engine = new Engine(); FileSystem fileSystem = new FileSystem(); Config config = new Config(engine, fileSystem); string configScript = @" public class MyDocument : CustomDocument { public int Count { get; set; } protected override CustomDocument Clone() { return new MyDocument(); } } --- Engine.DocumentFactory = new CustomDocumentFactory<MyDocument>(Engine.DocumentFactory); "; // When config.Configure(configScript, false, null, false); // Then Assert.AreEqual("CustomDocumentFactory`1", engine.DocumentFactory.GetType().Name); }
public Engine() { _config = new Config(this); _pipelines = new PipelineCollection(this); }
public void ErrorInSetupContainsCorrectLineNumbers() { // Given RemoveListener(); Engine engine = new Engine(); FileSystem fileSystem = new FileSystem(); Config config = new Config(engine, fileSystem); string configScript = @" Assemblies.Load(""""); foo === class Y { }; --- int z = 0; "; // When AggregateException exception = null; try { config.Configure(configScript, false, null, false); } catch (AggregateException ex) { exception = ex; } // Then Assert.AreEqual(2, exception.InnerExceptions.Count); StringAssert.StartsWith("Line 3", exception.InnerExceptions[0].Message); StringAssert.StartsWith("Line 3", exception.InnerExceptions[1].Message); }