def test_mutate_add_connection(self): g = Genome(3, 1) g.connect_nodes_by_id(1, 4, 1) g.connect_nodes_by_id(2, 4, 2) g.connect_nodes_by_id(3, 4, 3) g.create_node_between(2, 4, 5, 4) g.connect_nodes_by_id(1, 5, 6) self.assertEqual(True, g.select_node_by_id(1).is_connected_to_next_by_id(4)) self.assertEqual(True, g.select_node_by_id(4).is_connected_to_prev_by_id(1)) self.assertEqual(True, g.select_node_by_id(1).is_connected_to_next_by_id(5)) self.assertEqual(True, g.select_node_by_id(2).is_connected_to_next_by_id(5)) self.assertEqual(True, g.select_node_by_id(5).is_connected_to_next_by_id(4)) self.assertEqual(True, g.select_node_by_id(3).is_connected_to_next_by_id(4)) g.connect_nodes_by_id(3, 5, 7) self.assertEqual(True, g.select_node_by_id(3).is_connected_to_next_by_id(5))
def test_mutate_add_node(self): g = Genome(3, 1) g.connect_nodes_by_id(1, 4, 1) g.connect_nodes_by_id(2, 4, 2) g.connect_nodes_by_id(3, 4, 3) g.create_node_between(2, 4, 5, 4) g.connect_nodes_by_id(1, 5, 6) self.assertEqual(True, g.select_node_by_id(1).is_connected_to_next_by_id(4)) self.assertEqual(True, g.select_node_by_id(4).is_connected_to_prev_by_id(1)) self.assertEqual(True, g.select_node_by_id(1).is_connected_to_next_by_id(5)) self.assertEqual(True, g.select_node_by_id(2).is_connected_to_next_by_id(5)) self.assertEqual(True, g.select_node_by_id(5).is_connected_to_next_by_id(4)) self.assertEqual(True, g.select_node_by_id(3).is_connected_to_next_by_id(4)) g.create_node_between(3, 4, 6, 7) self.assertIsNotNone(g.select_node_by_id(6)) self.assertRaises(Exception, lambda: g.select_node_by_id(7))
def test_get_next_nodes(self): g = Genome(1, 1) g.create_node_between(1, 2, 3, 1) self.assertEqual([3], [n.get_innovation() for n in g.select_node_by_id(1).get_next_nodes()])