Ejemplo n.º 1
0
class TestPlaneBuilder(unittest.TestCase):

    def setUp(self):
        self.node_a = Node(node_id="1")
        self.node_b = Node(node_id="2")
        self.node_c = Node(node_id="3")
        self.few_nodes = {}
        self.many_nodes = {}

        few_nodes_list = Node.generate_nodes(3, Node, node_parameters={}, protocol_manager=None)
        for node in few_nodes_list:
            self.few_nodes[node.id] = node

        many_nodes_list = Node.generate_nodes(300, Node, node_parameters={}, protocol_manager=None)
        for node in many_nodes_list:
            self.many_nodes[node.id] = node

        self.plane_1 = Plane(10, 20)
        self.plane_2 = Plane(30, 30)

    def test_small_plane_builder(self):
        plane_builders.degree_plane_builder(self.plane_1, 2, 4, self.few_nodes)
        self.assertEqual(len(self.plane_1.all_node_ids), 3)

    def test_bigger_plane_builder(self):
        plane_builders.degree_plane_builder(self.plane_2, 2, 2, self.many_nodes)
        self.assertEqual(len(self.plane_2.all_node_ids), 300)

    def test_square_plane_builder(self):
        plane_builders.square_builder(self.plane_2, 2, 2, self.many_nodes)
        self.assertEqual(len(self.plane_2.all_node_ids), 300)
        self.assert_(self.plane_2.get_node(Location(0,0)))
Ejemplo n.º 2
0
class TestPlane(unittest.TestCase):

    def setUp(self):
        self.test_plane_5_10 = Plane(x_size=5, y_size=10)

    def test_boundaries(self):
        self.assert_(self.test_plane_5_10.get_node(Location(4, 9)) is plane.CONST_EMPTY)
        self.assertRaises(IndexError, self.test_plane_5_10.get_node, **{'location':Location(5, 9)})
        self.assertRaises(IndexError, self.test_plane_5_10.get_node, **{'location':Location(1, 10)})
        self.assert_(self.test_plane_5_10.get_node(Location(1, 9)) is plane.CONST_EMPTY)
        self.assert_(self.test_plane_5_10.get_node(Location(0, 0)) is plane.CONST_EMPTY)

    def test_node_insertion_normal(self):
        self.test_plane_5_10.insert_node(Node(node_id=1), Location(0,  0))
        self.assert_(self.test_plane_5_10.get_node(Location(0, 0)))
        self.assertFalse(self.test_plane_5_10.get_node(Location(0, 1)))
        self.test_plane_5_10.insert_node(Node(node_id=1), Location(0, 1))
        self.assert_(self.test_plane_5_10.get_node(Location(0, 1)))

    def test_node_insertion_already_ocupied(self):
        self.test_plane_5_10.insert_node(Node(node_id=1), Location(0, 0))
        self.assert_(self.test_plane_5_10.get_node(Location(0, 0)))

        self.assertRaises(LocationOcuppied, self.test_plane_5_10.insert_node, Node(2), Location(0, 0))

    def test_remove_node_existing(self):
        """
        Tests the removal of an existing node
        """
        node = Node(node_id=1)
        self.test_plane_5_10.insert_node(node, Location(0, 0))
        self.assert_(self.test_plane_5_10.get_node(Location(0, 0)))
        self.test_plane_5_10.remove_node(node)
        self.assertFalse(self.test_plane_5_10.get_node(Location(0, 0)))

    def test_plane_insertion(self):
        """
        Tests the insertion of ids in plane
        """
        my_plane = Plane(x_size=10, y_size=10)
        my_plane.insert_node(Node(node_id=1), Location(3, 4))
        my_plane.insert_node(Node(node_id=2), Location(3, 5))
        my_plane.insert_node(Node(node_id=3), Location(1, 2))

        self.assert_("1" in my_plane.all_node_ids)
        self.assert_("2" in my_plane.all_node_ids)
        self.assert_("3" in my_plane.all_node_ids)