-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathorder_by_test.go
37 lines (30 loc) · 1.27 KB
/
order_by_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package StitchingSQLGo
import (
"testing"
)
//go:generate stitching_sql -type=TestOrderByTable -file-name=order_by_test_table_stitching_sql_test.go -is-add-import=false
type TestOrderByTable struct {
Field1 int
Field2 int
Field3 int
}
func TestOrderBy_OrderBy(t *testing.T) {
s, b := SqlBuilder{}, OrderBy{
TestOrderByTable_F.Field1: ASC,
TestOrderByTable_F.Field2: DESC,
TestOrderByTable_F.Field3: ASC}
excepts := map[string]interface{}{
" order by test_order_by_table.field1 asc, test_order_by_table.field2 desc, test_order_by_table.field3 asc": nil,
" order by test_order_by_table.field2 desc, test_order_by_table.field1 asc, test_order_by_table.field3 asc": nil,
" order by test_order_by_table.field3 asc, test_order_by_table.field2 desc, test_order_by_table.field1 asc": nil,
" order by test_order_by_table.field2 desc, test_order_by_table.field3 asc, test_order_by_table.field1 asc": nil,
" order by test_order_by_table.field3 asc, test_order_by_table.field1 asc, test_order_by_table.field2 desc": nil,
" order by test_order_by_table.field1 asc, test_order_by_table.field3 asc, test_order_by_table.field2 desc": nil,
}
if err := b.orderBy(&s); err != nil {
t.Fatal(err)
}
if _, ok := excepts[s.String()]; ok == false {
t.Fatalf("now\n%s", s.String())
}
}