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)