You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
1.6 KiB

from django.test import TestCase
import treenode.treelib as tl
from .models import CastNode
class SimpleTreeLibTests(TestCase):
def setUp(self):
# Vyrobíme pár nějakých Nodů
self.root = CastNode(root=None, first_child=None, succ=None, nadpis="Root")
self.root.save()
self.some_node = CastNode(root=self.root, first_child=None, succ=None, nadpis="Přetržené")
self.other_node = CastNode(root=self.root, first_child=None, succ=None, nadpis="Dítě")
self.some_orphan = CastNode(root=None, first_child=None, succ=None, nadpis="Ošklivé")
self.other_orphan = 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)