@@ -98,17 +98,21 @@ def test_union_type():
9898
9999def test_literal_type ():
100100 """Test literal type"""
101- assert guess_type (typing .Literal ["a" ]) == "string"
102- assert guess_type (typing .Literal [1 ]) == "integer"
101+ assert guess_type (typing .Literal ["a" ]) == "string" , "should be string"
102+ assert guess_type (typing .Literal [1 ]) == "integer" , "should be integer"
103+ assert guess_type (typing .Literal [1.0 ]) == "number" , "should be number"
103104
104- assert set (guess_type (typing .Literal ["a" , 1 , None ])) == {"string" , "integer" }
105+ assert set (guess_type (typing .Literal ["a" , 1 , None ])) == {
106+ "string" ,
107+ "integer" ,
108+ }, "should be string or integer, omit None"
105109
106110 assert set (guess_type (typing .Literal ["a" , 1 ])) == {"string" , "integer" }
107- assert set (guess_type (typing .Literal ["a" , 1.0 ])) == {"string" , "integer " }
111+ assert set (guess_type (typing .Literal ["a" , 1.0 ])) == {"string" , "number " }
108112 assert set (guess_type (typing .Literal ["a" , 1.1 ])) == {"string" , "number" }
109113 assert set (guess_type (typing .Literal ["a" , 1 , 1.0 ])) == {
110114 "string" ,
111115 "number" ,
112- } # XXX should be ["string", " integer", " number"] ?
116+ }, " should omit integer if number is present"
113117
114118 assert set (guess_type (typing .Literal ["a" , 1 , 1.0 , None ])) == {"string" , "number" }
0 commit comments