Skip to content

Commit 58e2505

Browse files
committed
Lets be careful to use assertIs vs assertEqual when testing compositions and nesting.
1 parent 6f10a1d commit 58e2505

File tree

1 file changed

+43
-28
lines changed

1 file changed

+43
-28
lines changed

tests/test_composition.py

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_cons(self):
4545
def test_iterable(self):
4646
it = otio.core.Item()
4747
co = otio.core.Composition(children=[it])
48-
self.assertEqual(co[0], it)
48+
self.assertIs(co[0], it)
4949
self.assertEqual([i for i in co], [it])
5050
self.assertEqual(len(co), 1)
5151

@@ -96,31 +96,31 @@ def test_replacing_children(self):
9696
c = otio.core.Item(name="C")
9797
co = otio.core.Composition(children=[a, b])
9898
self.assertEqual(2, len(co))
99-
self.assertEqual(co[0], a)
100-
self.assertEqual(co[1], b)
99+
self.assertIs(co[0], a)
100+
self.assertIs(co[1], b)
101101
del co[1]
102102
self.assertEqual(1, len(co))
103-
self.assertEqual(co[0], a)
103+
self.assertIs(co[0], a)
104104
co[0] = c
105105
self.assertEqual(1, len(co))
106-
self.assertEqual(co[0], c)
106+
self.assertIs(co[0], c)
107107
co[:] = [a, b]
108108
self.assertEqual(2, len(co))
109-
self.assertEqual(co[0], a)
110-
self.assertEqual(co[1], b)
109+
self.assertIs(co[0], a)
110+
self.assertIs(co[1], b)
111111
co[0:2] = [c]
112112
self.assertEqual(1, len(co))
113-
self.assertEqual(co[0], c)
113+
self.assertIs(co[0], c)
114114
co[:] = [c, b, a]
115115
self.assertEqual(3, len(co))
116-
self.assertEqual(co[0], c)
117-
self.assertEqual(co[1], b)
118-
self.assertEqual(co[2], a)
116+
self.assertIs(co[0], c)
117+
self.assertIs(co[1], b)
118+
self.assertIs(co[2], a)
119119

120120
def test_parent_manip(self):
121121
it = otio.core.Item()
122122
co = otio.core.Composition(children=[it])
123-
self.assertEqual(it._parent, co)
123+
self.assertIs(it._parent, co)
124124

125125
def test_each_child_recursion(self):
126126
tl = otio.schema.Timeline(name="TL")
@@ -159,29 +159,29 @@ def test_each_child_recursion(self):
159159
self.assertEqual(2, len(tr3))
160160

161161
clips = list(tl.each_clip())
162-
self.assertEqual(
162+
self.assertListEqual(
163163
[c1, c2, c3, c4, c5, c6, c7, c8],
164164
clips
165165
)
166166

167167
all_tracks = list(tl.each_child(
168168
descended_from_type=otio.schema.Track
169169
))
170-
self.assertEqual(
170+
self.assertListEqual(
171171
[tr1, tr2, tr3],
172172
all_tracks
173173
)
174174

175175
all_stacks = list(tl.each_child(
176176
descended_from_type=otio.schema.Stack
177177
))
178-
self.assertEqual(
178+
self.assertListEqual(
179179
[st],
180180
all_stacks
181181
)
182182

183183
all_children = list(tl.each_child())
184-
self.assertEqual(
184+
self.assertListEqual(
185185
[tr1, c1, c2, c3, tr2, c4, c5, st, c6, tr3, c7, c8],
186186
all_children
187187
)
@@ -1176,17 +1176,6 @@ def test_empty_compositions(self):
11761176
)
11771177

11781178

1179-
def _nest(item):
1180-
parent = item.parent()
1181-
index = parent.index(item)
1182-
wrapper = otio.schema.Stack()
1183-
# swap out the item for the wrapper
1184-
parent[index] = wrapper
1185-
# now put the item inside the wrapper
1186-
wrapper.append(item)
1187-
return wrapper
1188-
1189-
11901179
class NestingTest(unittest.TestCase):
11911180

11921181
def test_deeply_nested(self):
@@ -1245,12 +1234,38 @@ def test_deeply_nested(self):
12451234
self.assertEqual(stack.transformed_time(fifty, clip), middle)
12461235
self.assertEqual(stack.transformed_time(ninetynine, clip), last)
12471236

1237+
def _nest(self, item):
1238+
1239+
self.assertIsNotNone(item)
1240+
self.assertIsNotNone(item.parent())
1241+
1242+
parent = item.parent()
1243+
index = parent.index(item)
1244+
wrapper = otio.schema.Stack()
1245+
1246+
self.assertIs(parent[index], item)
1247+
1248+
# swap out the item for the wrapper
1249+
parent[index] = wrapper
1250+
1251+
self.assertIs(parent[index], wrapper)
1252+
self.assertIsNot(parent[index], item)
1253+
1254+
self.assertIs(wrapper.parent(), parent)
1255+
1256+
# now put the item inside the wrapper
1257+
wrapper.append(item)
1258+
1259+
self.assertIs(item.parent(), wrapper)
1260+
1261+
return wrapper
1262+
12481263
# now nest it many layers deeper
12491264
wrappers = []
12501265
num_wrappers = 10
12511266
for i in range(num_wrappers):
12521267
# print "Nesting", (i+1), "levels deep"
1253-
wrapper = _nest(clip)
1268+
wrapper = _nest(self, clip)
12541269
wrappers.append(wrapper)
12551270

12561271
# nothing should have shifted at all

0 commit comments

Comments
 (0)