def test_storage_of_float_value(self): instance = MeasurementTestModel() instance.measurement_weight = 21.4 instance.save() retrieved = MeasurementTestModel.objects.get(pk=instance.pk) assert retrieved.measurement_weight == measures.Weight(g=21.4)
def test_storage_of_bidimensional_measurement(self): measurement = measures.Speed(mph=20) instance = MeasurementTestModel() instance.measurement_speed = measurement instance.save() retrieved = MeasurementTestModel.objects.get(pk=instance.pk) assert retrieved.measurement_speed == measurement
def test_storage_of_temperature(self): measurement = measures.Temperature(c=20) instance = MeasurementTestModel() instance.measurement_temperature = measurement instance.save() retrieved = MeasurementTestModel.objects.get(pk=instance.pk) assert retrieved.measurement_temperature == measurement
def test_storage_of_standard_measurement(self): measurement = measures.Weight(g=20) instance = MeasurementTestModel() instance.measurement_weight = measurement instance.save() retrieved = MeasurementTestModel.objects.get(pk=instance.pk) assert retrieved.measurement_weight == measurement
def test_storage_of_string_value(self): instance = MeasurementTestModel() instance.measurement_weight = "21.4" instance.save() retrieved = MeasurementTestModel.objects.get(pk=instance.pk) self.assertEquals( retrieved.measurement_weight, measures.Weight(g=21.4), )
def test_float_casting(self, caplog): m = MeasurementTestModel( measurement_distance=float(2000), measurement_distance_km=2, ) m.full_clean() assert m.measurement_distance.value == 2000 assert m.measurement_distance.unit == Distance.STANDARD_UNIT assert m.measurement_distance_km.value == 2 assert m.measurement_distance_km.unit == 'km' assert m.measurement_distance_km == Distance(km=2) m.measurement_distance_km = Distance(km=1) m.full_clean() assert m.measurement_distance_km.value == 1 assert m.measurement_distance_km.unit == 'km' assert m.measurement_distance_km == Distance(km=1) record = caplog.records[0] assert record.levelname == 'WARNING' assert record.message == ('You assigned a float instead of Distance to' ' tests.models.MeasurementTestModel.measurement_distance,' ' unit was guessed to be "m".')
def test_float_casting(self, capturelog): m = MeasurementTestModel( measurement_distance=float(2000), measurement_distance_km=2, ) m.full_clean() assert m.measurement_distance.value == 2000 assert m.measurement_distance.unit == Distance.STANDARD_UNIT assert m.measurement_distance_km.value == 2 assert m.measurement_distance_km.unit == 'km' assert m.measurement_distance_km == Distance(km=2) m.measurement_distance_km = Distance(km=1) m.full_clean() assert m.measurement_distance_km.value == 1 assert m.measurement_distance_km.unit == 'km' assert m.measurement_distance_km == Distance(km=1) record = capturelog.records()[0] assert record.levelname == 'WARNING' assert record.message == ('You assigned a float instead of Distance to' ' tests.models.MeasurementTestModel.measurement_distance,' ' unit was guessed to be "m".')
def test_deconstruct(self, fieldname, measure, expected_serialized_value): instance = MeasurementTestModel(pk=0) setattr(instance, fieldname, measure) serialized_object = serializers.serialize("python", [instance])[0] serialized_value = serialized_object["fields"][fieldname] assert isinstance(serialized_value, str) assert serialized_value == expected_serialized_value deserialized_obj = next( serializers.deserialize("python", [serialized_object])) deserialized_value = getattr(deserialized_obj.object, fieldname) assert deserialized_value == measure