public static void Tokenize_real_function_2_params() { var @params = SqlParamBlockParser.ParseFunction(sqlRealFunction); Assert.Equal(2, @params.Count); // @Containers var found = @params.TryGetValue("@Containers", out var param); Assert.True(found); Assert.Equal(ParameterDirection.Input, param.Direction); Assert.False(param.HasDefault); Assert.False(param.IsNullable); Assert.False(param.IsReadOnly); // @foo found = @params.TryGetValue("@foo", out param); Assert.True(found); Assert.Equal(ParameterDirection.Input, param.Direction); Assert.True(param.HasDefault); Assert.True(param.IsNullable); Assert.False(param.IsReadOnly); }
public static void Tokenize_messy_proc_2_params() { var @params = SqlParamBlockParser.ParseProcedure(sqlMessyProcWithParen); Assert.Equal(2, @params.Count); // @p1 var found = @params.TryGetValue("@p1", out var param); Assert.True(found); Assert.Equal(ParameterDirection.InputOutput, param.Direction); Assert.True(param.HasDefault); Assert.False(param.IsNullable); Assert.False(param.IsReadOnly); // @p_2 found = @params.TryGetValue("@p_2", out param); Assert.True(found); Assert.Equal(ParameterDirection.Input, param.Direction); Assert.False(param.HasDefault); Assert.False(param.IsNullable); Assert.True(param.IsReadOnly); }
public static void Tokenize_escaped_names() { var @params = SqlParamBlockParser.ParseFunction(sqlEscapedNames); Assert.True(@params.Count == 0); }
public static void Tokenize_bad_comment() { var @params = SqlParamBlockParser.ParseFunction(sqlBadComment); Assert.True(@params.Count == 0); }