def converts_float_values_to_float_asts(): # luckily in Python we can discern between float and int assert ast_from_value(-1, GraphQLFloat) == FloatValueNode(value="-1") assert ast_from_value(123.0, GraphQLFloat) == FloatValueNode(value="123") assert ast_from_value(123.5, GraphQLFloat) == FloatValueNode(value="123.5") assert ast_from_value(1e4, GraphQLFloat) == FloatValueNode(value="10000") assert ast_from_value(1e40, GraphQLFloat) == FloatValueNode(value="1e+40")
def converts_input_objects(): assert ast_from_value({ "foo": 3, "bar": "HELLO" }, input_obj) == ObjectValueNode(fields=[ ObjectFieldNode(name=NameNode(value="foo"), value=FloatValueNode(value="3")), ObjectFieldNode(name=NameNode(value="bar"), value=EnumValueNode(value="HELLO")), ])
def converts_input_objects(): input_obj = GraphQLInputObjectType( 'MyInputObj', { 'foo': GraphQLInputField(GraphQLFloat), 'bar': GraphQLInputField(my_enum) }) assert ast_from_value({ 'foo': 3, 'bar': 'HELLO' }, input_obj) == ObjectValueNode(fields=[ ObjectFieldNode(name=NameNode(value='foo'), value=FloatValueNode(value='3')), ObjectFieldNode(name=NameNode(value='bar'), value=EnumValueNode(value='HELLO')) ])
def converts_input_objects(): input_obj = GraphQLInputObjectType( "MyInputObj", {"foo": GraphQLInputField(GraphQLFloat), "bar": GraphQLInputField(my_enum)}, ) assert ast_from_value({"foo": 3, "bar": "HELLO"}, input_obj) == ObjectValueNode( fields=[ ObjectFieldNode( name=NameNode(value="foo"), value=FloatValueNode(value="3") ), ObjectFieldNode( name=NameNode(value="bar"), value=EnumValueNode(value="HELLO") ), ] )
def parse_invalid_float_as_nan(): assert value_from_ast_untyped(FloatValueNode(value="invalid")) is nan