public virtual void TestCall() { var sql = "call p(?,?) "; var lexer = new MySqlLexer(sql); var parser = new MySqlDmlCallParser(lexer, new MySqlExprParser(lexer)); var calls = parser.Call(); parser.Match(MySqlToken.Eof); var output = Output2MySql(calls, sql); Assert.AreEqual("CALL p(?, ?)", output); sql = "call p(@var1,'@var2',var3)"; lexer = new MySqlLexer(sql); parser = new MySqlDmlCallParser(lexer, new MySqlExprParser(lexer)); calls = parser.Call(); parser.Match(MySqlToken.Eof); output = Output2MySql(calls, sql); Assert.AreEqual("CALL p(@var1, '@var2', var3)", output); sql = "call p()"; lexer = new MySqlLexer(sql); parser = new MySqlDmlCallParser(lexer, new MySqlExprParser(lexer)); calls = parser.Call(); parser.Match(MySqlToken.Eof); output = Output2MySql(calls, sql); Assert.AreEqual("CALL p()", output); sql = "call p(?)"; lexer = new MySqlLexer(sql); parser = new MySqlDmlCallParser(lexer, new MySqlExprParser(lexer)); calls = parser.Call(); parser.Match(MySqlToken.Eof); output = Output2MySql(calls, sql); Assert.AreEqual("CALL p(?)", output); }