/// <summary> /// Creates a clause with the span defined by the passed context /// </summary> /// <param name="context">Parser rule context</param> public TestBlockNode(Z80TestParser.TestBlockContext context) : base(context) { TestKeywordSpan = new TextSpan(context.TEST()); TestIdSpan = new TextSpan(context.IDENTIFIER()?[0]); TestId = context.IDENTIFIER()?[0].GetText(); if (context.CATEGORY() != null) { CategoryKeywordSpan = new TextSpan(context.CATEGORY()); if (context.IDENTIFIER().Length > 1) { CategoryIdSpan = new TextSpan(context.IDENTIFIER()?[1]); Category = context.IDENTIFIER()?[1].GetText(); } } Cases = new List <TestCaseNode>(); }
/// <summary> /// Visit a parse tree produced by <see cref="Z80TestParser.testBlock"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public override object VisitTestBlock(Z80TestParser.TestBlockContext context) { if (IsInvalidContext(context)) { return(null); } var node = new TestBlockNode(context); if (context.testOptions() != null) { node.TestOptions = (TestOptionsNode)VisitTestOptions(context.testOptions()); } if (context.testParams() != null) { node.Params = (ParamsNode)VisitTestParams(context.testParams()); } foreach (var testCase in context.testCase()) { node.Cases.Add((TestCaseNode)VisitTestCase(testCase)); } if (context.arrange() != null) { node.Arrange = (AssignmentsNode)VisitArrange(context.arrange()); } node.Act = (InvokeCodeNode)VisitAct(context.act()); if (context.breakpoint() != null) { node.Breakpoints = (BreakpointsNode)VisitBreakpoint(context.breakpoint()); } if (context.assert() != null) { node.Assert = (AssertNode)VisitAssert(context.assert()); } return(node); }
/// <summary> /// Exit a parse tree produced by <see cref="Z80TestParser.testBlock"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitTestBlock([NotNull] Z80TestParser.TestBlockContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="Z80TestParser.testBlock"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitTestBlock([NotNull] Z80TestParser.TestBlockContext context) { return(VisitChildren(context)); }