def test_float_input_precision(): field = Float(name='name', required=True, precision=4) output = {} mapper_session = get_mapper_session( data={'name': '3.147261', 'email': '*****@*****.**'}, output=output) field.marshal(mapper_session) assert output == {'name': 3.1473}
def test_float_output(): class Foo(object): name = 2.52056 field = Float(name='name', required=True, precision=2) output = {} mapper_session = get_mapper_session(obj=Foo(), output=output) field.serialize(mapper_session) assert output == {'name': '2.52'}
def test_min_max_float(): field = Float(name='age', min=0, max=1.5) output = {} mapper_session = get_mapper_session(data={'age': -1}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 4}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 0.7}, output=output) field.marshal(mapper_session) assert output == {'age': 0.7} mapper_session = get_mapper_session(data={'age': 1.5}, output=output) field.marshal(mapper_session) assert output == {'age': 1.5}
def test_float_input(): field = Float(name='name', required=True) mapper_session = get_mapper_session( data={'email': '*****@*****.**'}, output={}) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session( data={'name': 'foo', 'email': '*****@*****.**'}, output={}) with pytest.raises(FieldInvalid): field.marshal(mapper_session) output = {} mapper_session = get_mapper_session( data={'name': 2, 'email': '*****@*****.**'}, output=output) field.marshal(mapper_session) assert output == {'name': 2.0}