1
2 from elisa.core.tests import component_test_case
3 from elisa.plugins.base.models.list_model import ListModel
4 from elisa.base_components.model import Model
5
7
8 component_class = ListModel
9
11
12 root_model = ListModel()
13 child_list_model = ListModel()
14 child_model = Model()
15 child_model2 = Model()
16
17 self.assertEquals(root_model.parent, None)
18 self.assertEquals(child_list_model.parent, None)
19 self.assertEquals(child_model.parent, None)
20
21 root_model.append(child_model)
22 self.assertEquals(root_model.parent, None)
23 self.assertEquals(child_list_model.parent, None)
24 self.assertEquals(child_model.parent, root_model)
25
26 root_model.append(child_list_model)
27 self.assertEquals(root_model.parent, None)
28 self.assertEquals(child_list_model.parent, root_model)
29 self.assertEquals(child_model.parent, root_model)
30
31 root_model.remove(child_list_model)
32 self.assertEquals(root_model.parent, None)
33 self.assertEquals(child_list_model.parent, None)
34 self.assertEquals(child_model.parent, root_model)
35
36 root_model.remove(child_model)
37 self.assertEquals(root_model.parent, None)
38 self.assertEquals(child_list_model.parent, None)
39 self.assertEquals(child_model.parent, None)
40
41
42 root_model.append(child_list_model)
43 self.assertEquals(child_list_model.parent, root_model)
44 root_model.extend([child_model, child_model2])
45 self.assertEquals(child_model.parent, root_model)
46 self.assertEquals(child_model2.parent, root_model)
47
48 root_model.pop()
49 self.assertEquals(child_list_model.parent, root_model)
50 self.assertEquals(child_model.parent, root_model)
51 self.assertEquals(child_model2.parent, None)
52
53 root_model.insert(0, child_model2)
54 self.assertEquals(child_list_model.parent, root_model)
55 self.assertEquals(child_model.parent, root_model)
56 self.assertEquals(child_model2.parent, root_model)
57
58 del root_model[0]
59 self.assertEquals(child_list_model.parent, root_model)
60 self.assertEquals(child_model.parent, root_model)
61 self.assertEquals(child_model2.parent, None)
62 child_list_model = ListModel()
63
64 root_model[1] = child_model2
65 self.assertEquals(child_list_model.parent, None)
66 self.assertEquals(child_model.parent, None)
67 self.assertEquals(child_model2.parent, root_model)
68
69 root_model.insert(0, child_list_model)
70 root_model.insert(1, child_model)
71 self.assertEquals(child_list_model.parent, root_model)
72 self.assertEquals(child_model.parent, root_model)
73 self.assertEquals(child_model2.parent, root_model)
74
75 del root_model[0:2]
76 self.assertEquals(child_list_model.parent, None)
77 self.assertEquals(child_model.parent, None)
78 self.assertEquals(child_model2.parent, root_model)
79 child_list_model = ListModel()
80 child_model = Model()
81
82 root_model=ListModel()
83 root_model.append(child_list_model)
84 root_model.append(child_model)
85 root_model.append(child_model2)
86 child_model3 = Model()
87 child_model4 = Model()
88
89 self.assertEquals(child_list_model.parent, root_model)
90 self.assertEquals(child_model.parent, root_model)
91 self.assertEquals(child_model2.parent, root_model)
92 self.assertEquals(child_model3.parent, None)
93 self.assertEquals(child_model4.parent, None)
94
95 root_model[1:2] = [child_model3, child_model4]
96 self.assertEquals(child_list_model.parent, root_model)
97 self.assertEquals(child_model.parent, None)
98 self.assertEquals(child_model2.parent, root_model)
99 self.assertEquals(child_model3.parent, root_model)
100 self.assertEquals(child_model4.parent, root_model)
101
102
104 root_model = ListModel()
105 child_list_model = ListModel()
106 child_model = Model()
107
108 child_list_model.append(child_model)
109 root_model.append(child_list_model)
110
111 self.assertEquals(root_model.parent, None)
112 self.assertEquals(child_list_model.parent, root_model)
113 self.assertEquals(child_model.parent, child_list_model)
114