Ejemplo n.º 1
0
class InterfaceValidatorArgumentTest(unittest.TestCase):
  def setUp(self):
    self.iv = InterfaceValidator( Example1(1,2), defer_validation=False )
  def tearDown(self):
    pass

  def test_methods_we_have(self):
    self.iv.expect_method("__init__(self, a, b)")
    self.iv.expect_method("m1(self)")
    self.iv.expect_method("m2(self, a)")
    self.iv.expect_method("m3(self, a, b=True)")
    self.iv.expect_method("m4(self, *args)")
    self.iv.expect_method("m5(self, bar, *args, **kwargs)")
    self.iv.expect_method("m6(self, bar, baz=True, *args, **kwargs)")

  def test_missing_methods(self):
    self.assertRaises(ValidationException, lambda: self.iv.expect_method("__len__(self)"))
    self.assertRaises(ValidationException, lambda: self.iv.expect_method("foo()"))

  def test_methods_with_bad_signature(self):
    self.assertRaises(ValidationException, lambda: self.iv.expect_method("__init__(self)"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_method("m3(a, b=True)"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_method("s1()")) # staticmethod
    self.assertRaises(ValidationException, lambda: self.iv.expect_method("s1(a)")) # staticmethod and arg mismatch

  def test_staticmethods_we_have(self):
    self.iv.expect_staticmethod("s1()")

  def test_staticmethods_with_issues(self):
    self.assertRaises(ValidationException, lambda: self.iv.expect_staticmethod("s1(a)"))
    self.assertRaises(ValidationException, lambda: self.iv.expect_staticmethod("get()"))
    self.assertRaises(ValidationException, lambda: self.iv.expect_staticmethod("m3(a, b=True)"))

  def test_properties_we_have(self):
    self.iv.expect_get_property("get")
    self.iv.expect_get_set_property("getset")
    self.iv.expect_get_set_del_property("getsetdel")


  def test_missing_properties(self):
    self.assertRaises(ValidationException, lambda: self.iv.expect_get_property("not_a_property"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_property("not_a_property"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_del_property("not_a_property"))

  def test_wrong_properties(self):
    self.assertRaises(ValidationException, lambda: self.iv.expect_get_property("getset"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_property("getsetdel"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_property("get"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_property("getsetdel"))


    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_del_property("get"))

    self.assertRaises(ValidationException, lambda: self.iv.expect_get_set_del_property("getset"))
Ejemplo n.º 2
0
class InterfaceValidatorArgumentTest(unittest.TestCase):
    def setUp(self):
        self.iv = InterfaceValidator(Example1(1, 2), defer_validation=False)

    def tearDown(self):
        pass

    def test_methods_we_have(self):
        self.iv.expect_method("__init__(self, a, b)")
        self.iv.expect_method("m1(self)")
        self.iv.expect_method("m2(self, a)")
        self.iv.expect_method("m3(self, a, b=True)")
        self.iv.expect_method("m4(self, *args)")
        self.iv.expect_method("m5(self, bar, *args, **kwargs)")
        self.iv.expect_method("m6(self, bar, baz=True, *args, **kwargs)")

    def test_missing_methods(self):
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_method("__len__(self)"))
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_method("foo()"))

    def test_methods_with_bad_signature(self):
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_method("__init__(self)"))

        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_method("m3(a, b=True)"))

        self.assertRaises(
            ValidationException,
            lambda: self.iv.expect_method("s1()"))  # staticmethod
        self.assertRaises(ValidationException, lambda: self.iv.expect_method(
            "s1(a)"))  # staticmethod and arg mismatch

    def test_staticmethods_we_have(self):
        self.iv.expect_staticmethod("s1()")

    def test_staticmethods_with_issues(self):
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_staticmethod("s1(a)"))
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_staticmethod("get()"))
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_staticmethod("m3(a, b=True)"))

    def test_properties_we_have(self):
        self.iv.expect_get_property("get")
        self.iv.expect_get_set_property("getset")
        self.iv.expect_get_set_del_property("getsetdel")

    def test_missing_properties(self):
        self.assertRaises(
            ValidationException,
            lambda: self.iv.expect_get_property("not_a_property"))

        self.assertRaises(
            ValidationException,
            lambda: self.iv.expect_get_set_property("not_a_property"))

        self.assertRaises(
            ValidationException,
            lambda: self.iv.expect_get_set_del_property("not_a_property"))

    def test_wrong_properties(self):
        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_get_property("getset"))

        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_get_property("getsetdel"))

        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_get_set_property("get"))

        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_get_set_property("getsetdel"))

        self.assertRaises(ValidationException,
                          lambda: self.iv.expect_get_set_del_property("get"))

        self.assertRaises(
            ValidationException,
            lambda: self.iv.expect_get_set_del_property("getset"))