classes) |
# -- # Copyright (C) CEA, EDF # Author : Erwan ADAM (CEA) # -- import unittest from xdata import * class A: pass class B(object): pass class C(object): pass class XInstanceTestCase(unittest.TestCase): def test(self): self.failUnlessRaises(XAttributeError, XInstance) return def test_init(self): self.failUnlessRaises(XValueError, XInstance, classes=3.2) self.failUnlessRaises(XValueError, XInstance, classes=[3.2]) self.failUnlessRaises(XValueError, XInstance, 3.2) self.failUnlessRaises(XValueError, XInstance, "XXXXXX") x = XInstance(classes=[A, B]) self.failUnlessEqual(x.classes, [A, B]) x = XInstance(A, B) self.failUnlessEqual(x.classes, [A, B]) x = XInstance("xdata.XString") return def test_classes(self): x = XInstance(A) self.failUnlessRaises(XValueError, x, 3.2) x = XInstance(A) a = A() self.failUnlessEqual(x(a), a) x = XInstance(B) self.failUnlessRaises(XValueError, x, A()) b = B() self.failUnlessEqual(x(b), b) x = XInstance(classes=[A, B]) a = A() self.failUnlessEqual(x(a), a) b = B() self.failUnlessEqual(x(b), b) c = C() self.failUnlessRaises(XValueError, x, c) return def test_string_classes(self): x = XInstance("xdata.XString") self.failUnlessRaises(XValueError, x, "toto") v = XString() self.failUnlessEqual(x(v), v) return pass if __name__ == '__main__': unittest.main() pass