def test_actionable_submission(self): """Tests actionable_submission correctly filters submissions.""" # t1 created and updated before take off. t1 = Target(user=self.user, target_type=TargetType.standard) t1.save() t1.alphanumeric = 'A' t1.save() # t2 created before take off and updated in flight. t2 = Target(user=self.user, target_type=TargetType.standard) t2.save() event = TakeoffOrLandingEvent(user=self.user, uas_in_air=True) event.save() t2.alphanumeric = 'A' t2.save() # t3 created and updated in flight. t3 = Target(user=self.user, target_type=TargetType.standard) t3.save() t3.alphanumeric = 'A' t3.save() # t4 created in flight and updated after landing. t4 = Target(user=self.user, target_type=TargetType.standard) t4.save() event = TakeoffOrLandingEvent(user=self.user, uas_in_air=False) event.save() t4.alphanumeric = 'A' t4.save() # t5 created and updated after landing. t5 = Target(user=self.user, target_type=TargetType.standard) t5.save() t5.alphanumeric = 'A' t5.save() self.assertFalse(t1.actionable_submission()) self.assertFalse(t2.actionable_submission()) self.assertTrue(t3.actionable_submission()) self.assertFalse(t4.actionable_submission()) self.assertFalse(t5.actionable_submission())
def test_actionable_submission(self): """Tests actionable_submission correctly filters submissions.""" # t1 created and updated before take off. t1 = Target(user=self.user, target_type=TargetType.standard) t1.save() t1.alphanumeric = "A" t1.save() # t2 created before take off and updated in flight. t2 = Target(user=self.user, target_type=TargetType.standard) t2.save() event = TakeoffOrLandingEvent(user=self.user, uas_in_air=True) event.save() t2.alphanumeric = "A" t2.save() # t3 created and updated in flight. t3 = Target(user=self.user, target_type=TargetType.standard) t3.save() t3.alphanumeric = "A" t3.save() # t4 created in flight and updated after landing. t4 = Target(user=self.user, target_type=TargetType.standard) t4.save() event = TakeoffOrLandingEvent(user=self.user, uas_in_air=False) event.save() t4.alphanumeric = "A" t4.save() # t5 created and updated after landing. t5 = Target(user=self.user, target_type=TargetType.standard) t5.save() t5.alphanumeric = "A" t5.save() self.assertFalse(t1.actionable_submission()) self.assertFalse(t2.actionable_submission()) self.assertTrue(t3.actionable_submission()) self.assertFalse(t4.actionable_submission()) self.assertFalse(t5.actionable_submission())
def test_last_modified_time(self): """Last modified time is set on creation and changes every update.""" t = Target(user=self.user, target_type=TargetType.standard) t.save() orig = t.last_modified_time self.assertIsNotNone(orig) t.alphanumeric = 'A' t.save() self.assertGreater(t.last_modified_time, orig)
def test_creation_time(self): """Creation time is set on creation and doesn't change on update.""" t = Target(user=self.user, target_type=TargetType.standard) t.save() orig = t.creation_time self.assertIsNotNone(orig) t.alphanumeric = 'A' t.save() self.assertEqual(orig, t.creation_time)
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))