Lines Matching refs:self

29     def test_instantiate_base(self):
32 self.assertRaises(AssertionError, pytree.Base)
34 def test_leaf(self):
36 self.assertEqual(l1.type, 100)
37 self.assertEqual(l1.value, "foo")
39 def test_leaf_repr(self):
41 self.assertEqual(repr(l1), "Leaf(100, 'foo')")
43 def test_leaf_str(self):
45 self.assertEqual(str(l1), "foo")
47 self.assertEqual(str(l2), " foo")
49 def test_leaf_str_numeric_value(self):
54 self.assertEqual(str(l1), "foo_5")
56 def test_leaf_equality(self):
59 self.assertEqual(l1, l2)
62 self.assertNotEqual(l1, l3)
63 self.assertNotEqual(l1, l4)
65 def test_leaf_prefix(self):
67 self.assertEqual(l1.prefix, "")
68 self.assertFalse(l1.was_changed)
70 self.assertEqual(l1.prefix, " ##\n\n")
71 self.assertTrue(l1.was_changed)
73 def test_node(self):
77 self.assertEqual(n1.type, 1000)
78 self.assertEqual(n1.children, [l1, l2])
80 def test_node_repr(self):
84 self.assertEqual(repr(n1),
87 def test_node_str(self):
91 self.assertEqual(str(n1), "foo bar")
93 def test_node_prefix(self):
95 self.assertEqual(l1.prefix, "")
97 self.assertEqual(n1.prefix, "")
99 self.assertEqual(n1.prefix, " ")
100 self.assertEqual(l1.prefix, " ")
102 def test_get_suffix(self):
107 self.assertEqual(l1.get_suffix(), l2.prefix)
108 self.assertEqual(l2.get_suffix(), "")
109 self.assertEqual(n1.get_suffix(), "")
114 self.assertEqual(n1.get_suffix(), l3.prefix)
115 self.assertEqual(l3.get_suffix(), "")
116 self.assertEqual(n2.get_suffix(), "")
118 def test_node_equality(self):
121 self.assertEqual(n1, n2)
123 self.assertNotEqual(n1, n3)
125 def test_node_recursive_equality(self):
130 self.assertEqual(n1, n2)
133 self.assertNotEqual(n1, n3)
135 def test_replace(self):
140 self.assertEqual(n1.children, [l1, l2, l3])
141 self.assertIsInstance(n1.children, list)
142 self.assertFalse(n1.was_changed)
145 self.assertEqual(n1.children, [l1, l2new, l3])
146 self.assertIsInstance(n1.children, list)
147 self.assertTrue(n1.was_changed)
149 def test_replace_with_list(self):
156 self.assertEqual(str(n1), "foo**bar")
157 self.assertIsInstance(n1.children, list)
159 def test_leaves(self):
167 self.assertEqual(list(n1.leaves()), [l1, l2, l3])
169 def test_depth(self):
176 self.assertEqual(l1.depth(), 2)
177 self.assertEqual(n3.depth(), 1)
178 self.assertEqual(n1.depth(), 0)
180 def test_post_order(self):
186 self.assertEqual(list(n1.post_order()), [l1, l2, c1, l3, n1])
188 def test_pre_order(self):
194 self.assertEqual(list(n1.pre_order()), [n1, c1, l1, l2, l3])
196 def test_changed(self):
198 self.assertFalse(l1.was_changed)
200 self.assertTrue(l1.was_changed)
204 self.assertFalse(n1.was_changed)
206 self.assertTrue(n1.was_changed)
213 self.assertFalse(l1.was_changed)
214 self.assertFalse(n1.was_changed)
215 self.assertFalse(n2.was_changed)
218 self.assertTrue(n1.was_changed)
219 self.assertTrue(n2.was_changed)
220 self.assertFalse(l1.was_changed)
222 def test_leaf_constructor_prefix(self):
224 l1 = pytree.Leaf(100, "self", prefix=prefix)
225 self.assertTrue(str(l1), prefix + "self")
226 self.assertEqual(l1.prefix, prefix)
228 def test_node_constructor_prefix(self):
230 l1 = pytree.Leaf(100, "self")
233 self.assertTrue(str(n1), prefix + "self_foo")
234 self.assertEqual(n1.prefix, prefix)
235 self.assertEqual(l1.prefix, prefix)
236 self.assertEqual(l2.prefix, "_")
238 def test_remove(self):
244 self.assertEqual(n1.remove(), 0)
245 self.assertEqual(n2.children, [])
246 self.assertEqual(l1.parent, n1)
247 self.assertEqual(n1.parent, None)
248 self.assertEqual(n2.parent, None)
249 self.assertFalse(n1.was_changed)
250 self.assertTrue(n2.was_changed)
252 self.assertEqual(l2.remove(), 1)
253 self.assertEqual(l1.remove(), 0)
254 self.assertEqual(n1.children, [])
255 self.assertEqual(l1.parent, None)
256 self.assertEqual(n1.parent, None)
257 self.assertEqual(n2.parent, None)
258 self.assertTrue(n1.was_changed)
259 self.assertTrue(n2.was_changed)
261 def test_remove_parentless(self):
264 self.assertEqual(n1.parent, None)
268 self.assertEqual(l1.parent, None)
270 def test_node_set_child(self):
276 self.assertEqual(l1.parent, None)
277 self.assertEqual(l2.parent, n1)
278 self.assertEqual(n1.children, [l2])
282 self.assertEqual(l1.parent, None)
283 self.assertEqual(n1.parent, n2)
284 self.assertEqual(n2.parent, None)
285 self.assertEqual(n2.children, [n1])
287 self.assertRaises(IndexError, n1.set_child, 4, l2)
289 self.assertRaises(Exception, n1.set_child, 0, list)
291 def test_node_insert_child(self):
297 self.assertEqual(l2.parent, n1)
298 self.assertEqual(n1.children, [l2, l1])
302 self.assertEqual(n1.children, [l2, l1, l3])
305 self.assertRaises(Exception, n1.insert_child, 0, list)
307 def test_node_append_child(self):
312 self.assertEqual(l1.parent, n1)
313 self.assertEqual(n1.children, [l1])
317 self.assertEqual(l2.parent, n1)
318 self.assertEqual(n1.children, [l1, l2])
321 self.assertRaises(Exception, n1.append_child, list)
323 def test_node_next_sibling(self):
328 self.assertIs(n1.next_sibling, n2)
329 self.assertEqual(n2.next_sibling, None)
330 self.assertEqual(p1.next_sibling, None)
332 def test_leaf_next_sibling(self):
337 self.assertIs(l1.next_sibling, l2)
338 self.assertEqual(l2.next_sibling, None)
339 self.assertEqual(p1.next_sibling, None)
341 def test_node_prev_sibling(self):
346 self.assertIs(n2.prev_sibling, n1)
347 self.assertEqual(n1.prev_sibling, None)
348 self.assertEqual(p1.prev_sibling, None)
350 def test_leaf_prev_sibling(self):
355 self.assertIs(l2.prev_sibling, l1)
356 self.assertEqual(l1.prev_sibling, None)
357 self.assertEqual(p1.prev_sibling, None)
364 def test_basic_patterns(self):
375 self.assertFalse(pl.match(root, results=r))
376 self.assertEqual(r, {})
377 self.assertFalse(pl.match(n1, results=r))
378 self.assertEqual(r, {})
379 self.assertFalse(pl.match(n2, results=r))
380 self.assertEqual(r, {})
381 self.assertTrue(pl.match(l1, results=r))
382 self.assertEqual(r, {"pl": l1})
384 self.assertFalse(pl.match(l2, results=r))
385 self.assertEqual(r, {})
388 self.assertFalse(pn.match(root, results=r))
389 self.assertEqual(r, {})
390 self.assertFalse(pn.match(n1, results=r))
391 self.assertEqual(r, {})
392 self.assertTrue(pn.match(n2, results=r))
393 self.assertEqual(r, {"pn": n2, "pl": l3})
395 self.assertFalse(pn.match(l1, results=r))
396 self.assertEqual(r, {})
397 self.assertFalse(pn.match(l2, results=r))
398 self.assertEqual(r, {})
400 def test_wildcard(self):
413 self.assertFalse(pw.match_seq([root], r))
414 self.assertEqual(r, {})
415 self.assertFalse(pw.match_seq([n1], r))
416 self.assertEqual(r, {})
417 self.assertTrue(pw.match_seq([n2], r))
419 self.assertEqual(sorted(r.keys()), ["pl", "pn", "pw"])
420 self.assertEqual(r["pl"], l1)
421 self.assertEqual(r["pn"], n2)
422 self.assertEqual(r["pw"], [n2])
424 self.assertEqual(r, {"pl": l1, "pn": n2, "pw": [n2]})
426 self.assertTrue(pw.match_seq([l1, l3], r))
427 self.assertEqual(r, {"pl": l3, "pw": [l1, l3]})
428 self.assertIs(r["pl"], l3)
431 def test_generate_matches(self):
449 self.assertEqual([x[0] for x in pw.generate_matches(leaves)],
453 self.assertEqual(len(matches), 1)
455 self.assertEqual(c, 1)
456 self.assertEqual(str(r["pr"]), "abcdef")
457 self.assertEqual(r["pw"], [la, lb, lc, ld, le, lf])
459 self.assertEqual(r["p" + c], pytree.Leaf(1, c))
461 def test_has_key_example(self):
471 self.assertTrue(pattern.match(node, r))
472 self.assertEqual(r["args"], [l2])