def test_descriptor(self): # Check default do = DetectedObject(self.bbox) nt.ok_(self.check_descriptors_equal(do.descriptor_copy(), None)) do.set_descriptor(self.descriptor) nt.ok_( self.check_descriptors_equal(do.descriptor_copy(), self.descriptor))
def test_descriptor_modify(self): do = DetectedObject(self.bbox) do.set_descriptor(self.descriptor) # Attempts to modify the descriptor don't work do.descriptor_copy()[0] += 1 # print(do.descriptor_copy().todoublearray(), self.descriptor.todoublearray()) nt.ok_( self.check_descriptors_equal(do.descriptor_copy(), self.descriptor)) # Modify the object copied from. Changes should not be reflected in # the detected_objects reference self.descriptor[0] += 1 # print(do.descriptor_copy().todoublearray(), self.descriptor.todoublearray()) nt.assert_false( self.check_descriptors_equal(do.descriptor_copy(), self.descriptor)) # Storing the copy in a new variable, obviously, allows for modification desc = do.descriptor_copy() desc[0] += 1 nt.assert_false( self.check_descriptors_equal(do.descriptor_copy(), desc))