40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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)
 |