def test_extra_edge(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = self.create_track(length + 1, seed=seed) self.assertAlmostEqual(track_distance(gt_track, rec_track), 1, places=self.tolerance_places)
def test_perfect(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = self.create_track(length, seed=seed) self.assertAlmostEqual(track_distance(gt_track, rec_track), 0, places=self.tolerance_places)
def test_missing_first_edge(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = self.create_track(length, seed=seed) rec_track.remove_node(0) self.assertAlmostEqual(track_distance(gt_track, rec_track), 1, places=self.tolerance_places)
def test_far_away(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = self.create_track(length, seed=seed) for node_id in range(length): rec_track.nodes[node_id]['x'] += 200 self.assertAlmostEqual(track_distance(gt_track, rec_track), length, places=self.tolerance_places)
def test_one_off(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = self.create_track(length, seed=seed) for node_id in range(length): rec_track.nodes[node_id]['x'] += 1 self.assertAlmostEqual(track_distance(gt_track, rec_track), length * norm_distance(1), places=self.tolerance_places)
def test_empty_reconstruction(self): length = 8 seed = 1 gt_track = self.create_track(length, seed=seed) rec_track = nx.DiGraph() self.assertEqual(track_distance(gt_track, rec_track), length)