Beispiel #1
0
 def test_01_build_nodes_inner_for_worst_case_menu(self):
     '''
         Tests the worst case scenario
         
         node5
          node4
           node3
            node2
             node1
     '''
     node1 = NavigationNode('Test1', '/test1/', 1, 2)
     node2 = NavigationNode('Test2', '/test2/', 2, 3)
     node3 = NavigationNode('Test3', '/test3/', 3, 4)
     node4 = NavigationNode('Test4', '/test4/', 4, 5)
     node5 = NavigationNode('Test5', '/test5/', 5, None)
     
     menu_class_name = 'Test'
     nodes = [node1,node2,node3,node4,node5,]
     len_nodes = len(nodes)
     
     final_list = _build_nodes_inner_for_one_menu(nodes, menu_class_name)
     self.assertEqual(len(final_list), len_nodes)
     
     self.assertEqual(node1.parent, node2)
     self.assertEqual(node2.parent, node3)
     self.assertEqual(node3.parent, node4)
     self.assertEqual(node4.parent, node5)
     self.assertEqual(node5.parent, None)
     
     self.assertEqual(node1.children, [])
     self.assertEqual(node2.children, [node1])
     self.assertEqual(node3.children, [node2])
     self.assertEqual(node4.children, [node3])
     self.assertEqual(node5.children, [node4])
Beispiel #2
0
 def test_build_nodes_inner_for_worst_case_menu(self):
     '''
         Tests the worst case scenario
         
         node5
          node4
           node3
            node2
             node1
     '''
     node1 = NavigationNode('Test1', '/test1/', 1, 2)
     node2 = NavigationNode('Test2', '/test2/', 2, 3)
     node3 = NavigationNode('Test3', '/test3/', 3, 4)
     node4 = NavigationNode('Test4', '/test4/', 4, 5)
     node5 = NavigationNode('Test5', '/test5/', 5, None)
     
     menu_class_name = 'Test'
     nodes = [node1,node2,node3,node4,node5,]
     len_nodes = len(nodes)
     
     final_list = _build_nodes_inner_for_one_menu(nodes, menu_class_name)
     self.assertEqual(len(final_list), len_nodes)
     
     self.assertEqual(node1.parent, node2)
     self.assertEqual(node2.parent, node3)
     self.assertEqual(node3.parent, node4)
     self.assertEqual(node4.parent, node5)
     self.assertEqual(node5.parent, None)
     
     self.assertEqual(node1.children, [])
     self.assertEqual(node2.children, [node1])
     self.assertEqual(node3.children, [node2])
     self.assertEqual(node4.children, [node3])
     self.assertEqual(node5.children, [node4])
Beispiel #3
0
 def _get_nodes(self, path='/'):
     node1 = NavigationNode('1', '/1/', 1)
     node2 = NavigationNode('2', '/2/', 2, 1)
     node3 = NavigationNode('3', '/3/', 3, 2)
     node4 = NavigationNode('4', '/4/', 4, 2)
     node5 = NavigationNode('5', '/5/', 5)
     nodes = [node1, node2, node3, node4, node5]
     tree = _build_nodes_inner_for_one_menu([n for n in nodes], "test")
     request = self.get_request(path)
     menu_pool.apply_modifiers(tree, request)
     return tree, nodes
Beispiel #4
0
 def _get_nodes(self, path='/'):
     node1 = NavigationNode('1', '/1/', 1)
     node2 = NavigationNode('2', '/2/', 2, 1)
     node3 = NavigationNode('3', '/3/', 3, 2)
     node4 = NavigationNode('4', '/4/', 4, 2)
     node5 = NavigationNode('5', '/5/', 5)
     nodes = [node1, node2, node3, node4, node5]
     tree = _build_nodes_inner_for_one_menu([n for n in nodes], "test")
     request = self.get_request(path)
     menu_pool.apply_modifiers(tree, request)
     return tree, nodes
Beispiel #5
0
    def test_03_build_nodes_inner_for_broken_menu(self):
        '''
            Tests a broken menu tree (non-existing parent)
            
            node5
             node4
              node3
              
            <non-existant>
             node2
              node1
        '''
        node1 = NavigationNode('Test1', '/test1/', 1, 2)
        node2 = NavigationNode('Test2', '/test2/', 2, 12)
        node3 = NavigationNode('Test3', '/test3/', 3, 4)
        node4 = NavigationNode('Test4', '/test4/', 4, 5)
        node5 = NavigationNode('Test5', '/test5/', 5, None)

        menu_class_name = 'Test'
        nodes = [
            node1,
            node2,
            node3,
            node4,
            node5,
        ]

        final_list = _build_nodes_inner_for_one_menu(nodes, menu_class_name)
        self.assertEqual(len(final_list), 3)
        self.assertFalse(node1 in final_list)
        self.assertFalse(node2 in final_list)

        self.assertEqual(node1.parent, None)
        self.assertEqual(node2.parent, None)
        self.assertEqual(node3.parent, node4)
        self.assertEqual(node4.parent, node5)
        self.assertEqual(node5.parent, None)

        self.assertEqual(node1.children, [])
        self.assertEqual(node2.children, [])
        self.assertEqual(node3.children, [])
        self.assertEqual(node4.children, [node3])
        self.assertEqual(node5.children, [node4])
Beispiel #6
0
 def test_22_build_nodes_inner_for_broken_menu(self):
     '''
         Tests a broken menu tree (non-existing parent)
         
         node5
          node4
           node3
           
         <non-existant>
          node2
           node1
     '''
     with SettingsOverride(CMS_MODERATOR=False):
 
         node1 = NavigationNode('Test1', '/test1/', 1, 2)
         node2 = NavigationNode('Test2', '/test2/', 2, 12)
         node3 = NavigationNode('Test3', '/test3/', 3, 4)
         node4 = NavigationNode('Test4', '/test4/', 4, 5)
         node5 = NavigationNode('Test5', '/test5/', 5, None)
         
         menu_class_name = 'Test'
         nodes = [node1,node2,node3,node4,node5,]
         
         final_list = _build_nodes_inner_for_one_menu(nodes, menu_class_name)
         self.assertEqual(len(final_list), 3) 
         self.assertFalse(node1 in final_list)
         self.assertFalse(node2 in final_list)
         
         self.assertEqual(node1.parent, None)
         self.assertEqual(node2.parent, None)
         self.assertEqual(node3.parent, node4)
         self.assertEqual(node4.parent, node5)
         self.assertEqual(node5.parent, None)
         
         self.assertEqual(node1.children, [])
         self.assertEqual(node2.children, [])
         self.assertEqual(node3.children, [])
         self.assertEqual(node4.children, [node3])
         self.assertEqual(node5.children, [node4])