This repository has been archived by the owner on Dec 12, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmerge_test.go
105 lines (83 loc) · 2.25 KB
/
merge_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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package go_cypherdsl
import (
"github.com/stretchr/testify/require"
"testing"
)
func TestMergeSetConfig_ToString(t *testing.T) {
t1 := MergeSetConfig{Name: "test", Member: "ttt", Target: 1}
t2 := MergeSetConfig{Name: "test", Member: "ttt", TargetFunction: &FunctionConfig{
Name: "test",
}}
t3 := MergeSetConfig{Name: "test"}
t4 := MergeSetConfig{}
t5 := MergeSetConfig{Name: "test", Member: "ttt"}
t6 := MergeSetConfig{Name: "test", Member: "ttt", TargetFunction: &FunctionConfig{Name: "test"}, Target: 1}
req := require.New(t)
var err error
var cypher string
//name member normal target
cypher, err = t1.ToString()
req.Nil(err)
req.EqualValues("test.ttt = 1", cypher)
//name member target function
cypher, err = t2.ToString()
req.Nil(err)
req.EqualValues("test.ttt = test()", cypher)
//error - member not defined
_, err = t3.ToString()
req.NotNil(err)
//error - member and name not defined
_, err = t4.ToString()
req.NotNil(err)
//error - target and target function not defined
_, err = t5.ToString()
req.NotNil(err)
//error - target and target function defined
_, err = t6.ToString()
req.NotNil(err)
}
func TestMergeConfig_ToString(t *testing.T) {
t1 := MergeConfig{Path: "test"}
t2 := MergeConfig{Path: "test", OnCreate: &MergeSetConfig{
Name: "test",
Member: "ttt",
Target: 1,
}}
t3 := MergeConfig{Path: "test", OnMatch: &MergeSetConfig{
Name: "test",
Member: "ttt",
Target: 1,
}}
t4 := MergeConfig{Path: "test", OnMatch: &MergeSetConfig{
Name: "test",
Member: "ttt",
Target: 1,
}, OnCreate: &MergeSetConfig{
Name: "test",
Member: "tt1",
Target: 2,
}}
t5 := MergeConfig{}
req := require.New(t)
var err error
var cypher string
//only merge
cypher, err = t1.ToString()
req.Nil(err)
req.EqualValues("test", cypher)
//merge with on create
cypher, err = t2.ToString()
req.Nil(err)
req.EqualValues("test ON CREATE SET test.ttt = 1", cypher)
//merge with on match
cypher, err = t3.ToString()
req.Nil(err)
req.EqualValues("test ON MATCH SET test.ttt = 1", cypher)
//merge with on create and on match
cypher, err = t4.ToString()
req.Nil(err)
req.EqualValues("test ON CREATE SET test.tt1 = 2 ON MATCH SET test.ttt = 1", cypher)
//error - path not defined
_, err = t5.ToString()
req.NotNil(err)
}