public void ParseEnclosedInline() { var enclosedParser = new GenericParserHelper <EnclosedConceptInfo>("enclosed"); EnclosedConceptInfo ci = enclosedParser.QuickParse("enclosed a.b"); Assert.AreEqual("a", ci.Parent.Name); Assert.AreEqual("b", ci.Name); }
public void ParseEnclosedInlineError() { var dsl = "enclosed abc def"; var parser = new GenericParserHelper <EnclosedConceptInfo>("enclosed"); try { EnclosedConceptInfo ci = parser.QuickParse(dsl); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("\".\""), "Expecting \".\""); var msg = parser.tokenReader.ReportPosition(); Assert.IsTrue(msg.Contains("def"), "Report the unexpected text."); throw; } }
public void ParseEnclosed() { var enclosedParser = new GenericParserHelper <EnclosedConceptInfo>("enclosed"); Stack <IConceptInfo> stack = new Stack <IConceptInfo>(); stack.Push(new SimpleConceptInfo { Name = "a" }); var tokenReader = TestTokenReader("simple a { enclosed b; }", 3); EnclosedConceptInfo ci = (EnclosedConceptInfo)enclosedParser.Parse(tokenReader, stack).Value; Assert.AreEqual("a", ci.Parent.Name); Assert.AreEqual("b", ci.Name); TestUtility.AssertContains(tokenReader.ReportPosition(), "before: \";"); }
public void ParseEnclosedInWrongConcept() { var parser = new GenericParserHelper <EnclosedConceptInfo>("enclosed"); try { EnclosedConceptInfo ci = parser.QuickParse( "enclosed myparent.myname", new ComplexConceptInfo { Name = "c", SimpleConceptInfo = new SimpleConceptInfo { Name = "s" } }); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("EnclosedConceptInfo"), "EnclosedConceptInfo"); Assert.IsTrue(e.Message.Contains("ComplexConceptInfo"), "ComplexConceptInfo"); throw; } }