public static string RuleMethodStartToString( string expectedName, Variable[] expectedVariables, string ag, string sg, string eg ) { return "<%rule " + expectedName + "( " + (expectedVariables.Length > 0 ? expectedVariables .Select( variable => VariableUnitTest.VariableToString( variable, ag, sg, eg ) ) .Aggregate( ( s1, s2 ) => s1 + ag + s2 ) : "") + " )%>"; }
private static void MainTestMethod( Variable variable, string ag, string sg, string eg ) { var expectedString = VariableToString( variable, ag, sg, eg ); var actualVariable = ParserHelper.ParseVariable( expectedString ); AssertHelper.AssertVariable( variable, actualVariable ); }
private static void MainParseTest( Variable variable ) { MainTestMethod( variable, ",", "<", ">" ); MainTestMethod( variable, ", ", "< ", " >" ); MainTestMethod( variable, ",\r\n\t", "<\r\n\t", "\r\n\t>" ); }
public static string VariableToString( Variable variable, string ag, string sg, string eg ) { return TypeUnitTest.TypeToString( variable.Type, ag, sg, eg ) + ' ' + variable.Name; }
public CodeWriter Parameter( Variable var ) { var writer = new CodeWriter(); writer.AppendText( var.ToString() ); return writer; }
void Var(out Variable var) { WolfGenerator.Core.AST.Type type; Token start = t; Type(out type); Expect(1); var = new Variable( new StatementPosition( start, t ), t.val, type ); }