예제 #1
0
 def test_required_with_defaults(self) -> None:
     re = easy(val=10)
     x = mixed(req_easy_ref=re)
     self.assertEqual(x.opt_field, "optional")
     self.assertEqual(x.req_field, "required")
     self.assertEqual(x.unq_field, "unqualified")
     self.assertTrue(x)
     y = mixed(req_field="foo",
               opt_field="bar",
               unq_field="baz",
               req_easy_ref=re)
     self.assertTrue(x)
     z = y(req_field=None, opt_field=None, unq_field=None)
     self.assertEqual(x, z)
     self.assertTrue(x)
     self.assertIsNone(x.opt_easy_ref)
     self.assertIsNone(y.opt_easy_ref)
     self.assertIsNone(z.opt_easy_ref)
     e = easy(val=5)
     z = x(opt_easy_ref=e, req_easy_ref=re)
     self.assertEqual(z.opt_easy_ref, e)
     self.assertNotEqual(x, y)
     y = z(opt_easy_ref=None)
     self.assertIsNone(y.opt_easy_ref)
     self.assertEqual(y, x)
     with self.assertRaises(TypeError):
         z(req_easy_ref=None)  # type: ignore
예제 #2
0
 def test_required_with_defaults(self) -> None:
     re = easy(val=10)
     x = mixed(req_easy_ref=re)
     self.assertEqual(x.opt_field, "optional")
     self.assertEqual(x.req_field, "required")
     self.assertEqual(x.unq_field, "unqualified")
     self.assertTrue(x)
     y = mixed(req_field="foo", opt_field="bar", unq_field="baz", req_easy_ref=re)
     self.assertTrue(x)
     z = y(req_field=None, opt_field=None, unq_field=None)
     self.assertEqual(x, z)
     self.assertTrue(x)
     self.assertIsNone(x.opt_easy_ref)
     self.assertIsNone(y.opt_easy_ref)
     self.assertIsNone(z.opt_easy_ref)
     e = easy(val=5)
     z = x(opt_easy_ref=e, req_easy_ref=re)
     self.assertEqual(z.opt_easy_ref, e)
     self.assertNotEqual(x, y)
     y = z(opt_easy_ref=None)
     self.assertIsNone(y.opt_easy_ref)
     self.assertEqual(y, x)
     with self.assertRaises(TypeError):
         z(req_easy_ref=None)  # type: ignore