5
5
"github.com/google/uuid"
6
6
"github.com/shopspring/decimal"
7
7
"github.com/stretchr/testify/require"
8
- "strings"
9
8
"testing"
10
9
"time"
11
10
)
@@ -19,24 +18,21 @@ func TestQueryParameters(t *testing.T) {
19
18
name string
20
19
b * Builder
21
20
qp * Parameters
22
- dsExpected [] string
21
+ dsExpected string
23
22
pcExpected map [string ]string
24
23
}{
25
24
{
26
25
"Test empty" ,
27
26
New ("" ),
28
27
NewParameters (),
29
- [] string { "\n " } ,
28
+ "\n " ,
30
29
map [string ]string {}},
31
30
{
32
31
"Test single add" ,
33
32
New ("" ),
34
33
NewParameters ().
35
34
AddString ("foo" , "bar" ),
36
- []string {"declare" ,
37
- "query_parameters(" ,
38
- "foo:string" ,
39
- ");\n " },
35
+ "declare query_parameters(foo:string);\n " ,
40
36
map [string ]string {"foo" : "\" bar\" " }},
41
37
{
42
38
"Test standard" ,
@@ -45,12 +41,7 @@ func TestQueryParameters(t *testing.T) {
45
41
AddString ("databaseName" , "foo_1" ).
46
42
AddString ("tableName" , "_bar" ).
47
43
AddString ("txt" , "txt_" ),
48
- []string {"declare" ,
49
- "query_parameters(" ,
50
- "databaseName:string" ,
51
- "tableName:string" ,
52
- "txt:string" ,
53
- ");\n database(databaseName).table(tableName) | where column == txt ;" },
44
+ "declare query_parameters(databaseName:string, tableName:string, txt:string);\n database(databaseName).table(tableName) | where column == txt ;" ,
54
45
map [string ]string {
55
46
"databaseName" : "\" foo_1\" " ,
56
47
"tableName" : "\" _bar\" " ,
@@ -71,19 +62,7 @@ func TestQueryParameters(t *testing.T) {
71
62
AddReal ("rl" , 0.01 ).
72
63
AddLong ("lg" , 9223372036854775807 ).
73
64
AddGUID ("guid" , guid ),
74
- []string {"declare" ,
75
- "query_parameters(" ,
76
- "foo:string" ,
77
- "num:int" ,
78
- "dec:decimal" ,
79
- "dt:datetime" ,
80
- "span:timespan" ,
81
- "obj:dynamic" ,
82
- "b:bool" ,
83
- "rl:real" ,
84
- "lg:long" ,
85
- "guid:guid" ,
86
- ");\n where vnum == num and vdec == dec and vdate == dt and vspan == span and tostring(vobj) == tostring(obj) and vb == b and vreal == rl and vstr == str and vlong == lg and vguid == guid" },
65
+ "declare query_parameters(b:bool, dec:decimal, dt:datetime, foo:string, guid:guid, lg:long, num:int, obj:dynamic, rl:real, span:timespan);\n where vnum == num and vdec == dec and vdate == dt and vspan == span and tostring(vobj) == tostring(obj) and vb == b and vreal == rl and vstr == str and vlong == lg and vguid == guid" ,
87
66
map [string ]string {
88
67
"foo" : "\" bar\" " ,
89
68
"num" : "int(1)" ,
@@ -103,12 +82,7 @@ func TestQueryParameters(t *testing.T) {
103
82
AddString ("databaseName" , "f\" \" o" ).
104
83
AddString ("tableName" , "b\a \r " ).
105
84
AddString ("txt" , "f_u_n\u1234 c" ),
106
- []string {"declare" ,
107
- "query_parameters(" ,
108
- "databaseName:string" ,
109
- "tableName:string" ,
110
- "txt:string" ,
111
- ");\n database(databaseName).table(tableName) | where column == txt ;" },
85
+ "declare query_parameters(databaseName:string, tableName:string, txt:string);\n database(databaseName).table(tableName) | where column == txt ;" ,
112
86
map [string ]string {
113
87
"databaseName" : `"f\"\"o"` ,
114
88
"tableName" : `"b\a\r"` ,
@@ -120,9 +94,7 @@ func TestQueryParameters(t *testing.T) {
120
94
q := test .b .String ()
121
95
declarationString := test .qp .ToDeclarationString ()
122
96
actual := fmt .Sprintf ("%s\n %s" , declarationString , q )
123
- for _ , sub := range test .dsExpected {
124
- require .True (t , strings .Contains (actual , sub ))
125
- }
97
+ require .Equal (t , test .dsExpected , actual )
126
98
127
99
params := test .qp .ToParameterCollection ()
128
100
require .Equal (t , test .pcExpected , params )
0 commit comments