from django.test import TestCase import treenode.treelib as tl import seminar.models as m class SimpleTreeLibTests(TestCase): def setUp(self): # Vyrobíme pár nějakých Nodů self.root = m.CastNode(root=None, first_child=None, succ=None, nadpis="Root") self.root.save() self.some_node = m.CastNode(root=self.root, first_child=None, succ=None, nadpis="Přetržené") self.other_node = m.CastNode(root=self.root, first_child=None, succ=None, nadpis="Dítě") self.some_orphan = m.CastNode(root=None, first_child=None, succ=None, nadpis="Ošklivé") self.other_orphan = m.CastNode(root=None, first_child=None, succ=None, nadpis="Káčátko") # Trochu je pospojujeme self.root.first_child = self.some_node self.some_node.succ = self.other_node self.some_orphan.first_child = self.other_orphan # Všechno uložíme self.other_node.save() self.some_node.save() self.other_orphan.save() self.some_orphan.save() self.root.save() def test_safe_functions(self): # safe_pred self.assertEqual(tl.safe_pred(self.other_node), self.some_node) self.assertIsNone(tl.safe_pred(self.root)) self.assertIsNone(tl.safe_pred(self.some_node)) self.assertIsNone(tl.safe_pred(self.some_orphan)) self.assertIsNone(tl.safe_pred(self.other_orphan)) # safe_father_of_first self.assertIsNone(tl.safe_father_of_first(self.root)) self.assertEqual(tl.safe_father_of_first(self.some_node), self.root) self.assertEqual(tl.safe_father_of_first(self.other_node), self.root) self.assertIsNone(tl.safe_father_of_first(self.some_orphan)) self.assertEqual(tl.safe_father_of_first(self.other_orphan), self.some_orphan)