def test_similar_classifications(self): """Tests similar classification counts are computed correctly.""" # Test equal standard targets. l = GpsPosition(latitude=38, longitude=-76) l.save() t1 = Target(user=self.user, target_type=TargetType.standard, location=l, orientation=Orientation.s, shape=Shape.square, background_color=Color.white, alphanumeric='ABC', alphanumeric_color=Color.black, description='Test target', autonomous=True) t1.save() t2 = Target(user=self.user, target_type=TargetType.standard, location=l, orientation=Orientation.s, shape=Shape.square, background_color=Color.white, alphanumeric='ABC', alphanumeric_color=Color.black, description='Test other target', autonomous=True) t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2)) # Test unequal standard targets. t1.alphanumeric = 'DEF' t1.alphanumeric_color = Color.blue t1.save() self.assertAlmostEqual(3.0 / 5.0, t1.similar_classifications(t2)) t1.shape = Shape.circle t1.background_color = Color.orange t1.save() self.assertAlmostEqual(1.0 / 5.0, t1.similar_classifications(t2)) # Test different types. t1.target_type = TargetType.off_axis t1.save() self.assertAlmostEqual(0, t1.similar_classifications(t2)) # Test off_axis is same as standard. t2.target_type = TargetType.off_axis t2.alphanumeric = 'DEF' t2.save() self.assertAlmostEqual(2.0 / 5.0, t1.similar_classifications(t2)) # Test emergent type is always 1. t1.target_type = TargetType.emergent t1.save() t2.target_type = TargetType.emergent t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2)) # Test QRC is only description. t1.target_type = TargetType.qrc t1.save() t2.target_type = TargetType.qrc t2.save() self.assertAlmostEqual(0.0, t1.similar_classifications(t2)) t2.description = 'Test target' t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2))
def test_similar_classifications(self): """Tests similar classification counts are computed correctly.""" # Test equal standard targets. l = GpsPosition(latitude=38, longitude=-76) l.save() t1 = Target( user=self.user, target_type=TargetType.standard, location=l, orientation=Orientation.s, shape=Shape.square, background_color=Color.white, alphanumeric="ABC", alphanumeric_color=Color.black, description="Test target", autonomous=True, ) t1.save() t2 = Target( user=self.user, target_type=TargetType.standard, location=l, orientation=Orientation.s, shape=Shape.square, background_color=Color.white, alphanumeric="ABC", alphanumeric_color=Color.black, description="Test other target", autonomous=True, ) t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2)) # Test unequal standard targets. t1.alphanumeric = "DEF" t1.alphanumeric_color = Color.blue t1.save() self.assertAlmostEqual(3.0 / 5.0, t1.similar_classifications(t2)) t1.shape = Shape.circle t1.background_color = Color.orange t1.save() self.assertAlmostEqual(1.0 / 5.0, t1.similar_classifications(t2)) # Test different types. t1.target_type = TargetType.off_axis t1.save() self.assertAlmostEqual(0, t1.similar_classifications(t2)) # Test off_axis is same as standard. t2.target_type = TargetType.off_axis t2.alphanumeric = "DEF" t2.save() self.assertAlmostEqual(2.0 / 5.0, t1.similar_classifications(t2)) # Test emergent type is always 1. t1.target_type = TargetType.emergent t1.save() t2.target_type = TargetType.emergent t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2)) # Test QRC is only description. t1.target_type = TargetType.qrc t1.save() t2.target_type = TargetType.qrc t2.save() self.assertAlmostEqual(0.0, t1.similar_classifications(t2)) t2.description = "Test target" t2.save() self.assertAlmostEqual(1.0, t1.similar_classifications(t2))