public void Test() { var context = new MyServiceConsumer(); Language.Parse(context, "foo"); Assert.IsTrue(context.HasScanning, "Missing scanning service"); Assert.IsTrue(context.HasParsing, "Missing parsing service"); Assert.IsTrue(context.HasLanguage, "Missing language service"); Assert.AreEqual(new Loc(0, 3), context.LastNonTermLocation); Assert.AreEqual(new Loc(0, 3), context.LastTermLocation); Language.Parse(context, "barr"); Assert.IsTrue(context.Nested.HasScanning, "Missing nested scanning service"); Assert.IsTrue(context.Nested.HasParsing, "Missing nested parsing service"); Assert.IsTrue(context.Nested.HasLanguage, "Missing language service"); Assert.AreEqual(new Loc(0, 4), context.Nested.LastNonTermLocation); Assert.AreEqual(new Loc(0, 4), context.Nested.LastTermLocation); }