def test_evaluation_dict(self): """Tests that the evaluation dictionary is generated correctly.""" e = TargetEvaluator(self.submitted_targets, self.real_targets) d = e.evaluation_dict() self.assertIn('matched_target_value', d) self.assertIn('unmatched_target_count', d) self.assertIn('targets', d) for t in d['targets'].values(): keys = ['match_value', 'image_approved', 'classifications', 'location_accuracy', 'actionable', 'interop_submission'] for key in keys: self.assertIn(key, t) for s in self.real_targets: self.assertIn(s.pk, d['targets'].keys()) self.assertAlmostEqual(1.974, d['matched_target_value'], places=3) self.assertEqual(1, d['unmatched_target_count']) self.assertEqual(self.submit1.pk, d['targets'][self.real1.pk]['submitted_target']) self.assertAlmostEqual(1.0, d['targets'][self.real1.pk]['match_value'], places=3) self.assertEqual(True, d['targets'][self.real1.pk]['image_approved']) self.assertEqual(1.0, d['targets'][self.real1.pk]['classifications']) self.assertEqual(0.0, d['targets'][self.real1.pk]['location_accuracy']) self.assertEqual(True, d['targets'][self.real1.pk]['actionable']) self.assertEqual(True, d['targets'][self.real1.pk]['interop_submission']) self.assertEqual(False, d['targets'][self.real2.pk]['actionable']) self.assertEqual(False, d['targets'][self.real2.pk]['interop_submission'])
def test_evaluation_dict_no_real_targets(self): """Tests that evaluation_dict works with no real targets.""" e = TargetEvaluator(self.submitted_targets, []) d = e.evaluation_dict() self.assertEqual(0, d['matched_target_value']) self.assertEqual(5, d['unmatched_target_count']) self.assertEqual({}, d['targets'])
def test_evaluation_dict_no_submitted_targets(self): """Tests that evaluation_dict works with no submitted targets.""" e = TargetEvaluator([], self.real_targets) d = e.evaluation_dict() self.assertEqual(0, d['matched_target_value']) self.assertEqual(0, d['unmatched_target_count']) for td in d['targets'].values(): for v in td.values(): self.assertEqual('', v)