def test_str(self):
     self.assertFieldsEqual(field_for_schema(str),
                            fields.String(required=True))
 def test_any(self):
     self.assertFieldsEqual(field_for_schema(Any),
                            fields.Raw(required=True, allow_none=True))
 def test_builtin_list(self):
     self.assertFieldsEqual(
         field_for_schema(list, metadata=dict(required=False)),
         fields.List(fields.Raw(required=True, allow_none=True),
                     required=False),
     )
 def test_int(self):
     self.assertFieldsEqual(
         field_for_schema(int, default=9, metadata=dict(required=False)),
         fields.Integer(default=9, missing=9, required=False),
     )
 def test_literal_multiple_types(self):
     self.assertFieldsEqual(
         field_for_schema(Literal["a", 1, 1.23, True]),
         fields.Raw(required=True,
                    validate=validate.OneOf(("a", 1, 1.23, True))),
     )
 def test_literal(self):
     self.assertFieldsEqual(
         field_for_schema(Literal["a"]),
         fields.Raw(required=True, validate=validate.Equal("a")),
     )
 def test_final_without_type(self):
     self.assertFieldsEqual(field_for_schema(Final),
                            fields.Raw(required=True, allow_none=True))
 def test_final(self):
     self.assertFieldsEqual(field_for_schema(Final[str]),
                            fields.String(required=True))