summary refs log tree commit diff stats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/tc_newkeys.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/tc_newkeys.py b/test/tc_newkeys.py
index 7bdbccad..e8a8dbee 100644
--- a/test/tc_newkeys.py
+++ b/test/tc_newkeys.py
@@ -437,6 +437,42 @@ class Test(PressTestCase):
 		self.assertRaises(KeyError, t2.traverse, 'abcd')
 		self.assertEqual("Lol", t2.traverse('axy'))
 
+	def test_merge_trees(self):
+		t = Tree()
+		t.set('aaaX', 1)
+		t.set('aaaY', 2)
+		t.set('aaaZ', 3)
+		t.set('bbbA', 11)
+		t.set('bbbB', 12)
+		t.set('bbbC', 13)
+		t.set('bbbD', 14)
+		t.set('bP', 21)
+		t.set('bQ', 22)
+
+		u = Tree()
+		u.set('aaaX', 0)
+		u.set('bbbC', 'Yes')
+		u.set('bbbD', 14)
+		u.set('bbbE', 15)
+		u.set('bbbF', 16)
+		u.set('bQ', 22)
+		u.set('bR', 23)
+
+		v = t.merge(u)
+
+		self.assertEqual(0, t['aaaX'])
+		self.assertEqual(1, t['aaaY'])
+		self.assertEqual(2, t['aaaZ'])
+		self.assertEqual(11, t['bbbA'])
+		self.assertEqual('Yes', t['bbbC'])
+		self.assertEqual(14, t['bbbD'])
+		self.assertEqual(15, t['bbbE'])
+		self.assertEqual(16, t['bbbF'])
+		self.assertRaises(KeyError, t.__getitem__, 'bbbG')
+		self.assertEqual(21, t['bP'])
+		self.assertEqual(22, t['bQ'])
+		self.assertEqual(21, t['bR'])
+
 	def test_add(self):
 		c = KeyMap()
 		c.add(lambda *_: 'lolz', 'aa', 'b')
7ecd9940af024b3'>67de9b02 ^
46bb1d31 ^


67de9b02 ^
46bb1d31 ^

67de9b02 ^
46bb1d31 ^




67de9b02 ^
46bb1d31 ^











67de9b02 ^
46bb1d31 ^




67de9b02 ^
46bb1d31 ^











67de9b02 ^
46bb1d31 ^



67de9b02 ^
46bb1d31 ^













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
106
107
108
109