def testJPClass_hints(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_hints") with self.assertRaisesRegex(SystemError, "fault"): js._hints _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): js._hints self.assertIsInstance(js._hints, _jpype._JClassHints)
def testJPNumberFloat_str(self): jd = JDouble(1) _jpype.fault("PyJPNumberFloat_str") with self.assertRaisesRegex(SystemError, "fault"): str(jd) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): str(jd) str(jd)
def testJPNumberLong_repr(self): jd = JInt(1) _jpype.fault("PyJPNumberLong_repr") with self.assertRaisesRegex(SystemError, "fault"): repr(jd) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): repr(jd) repr(jd)
def testJPArrayNew(self): ja = JArray(JInt) _jpype.fault("JPArray::JPArray") with self.assertRaisesRegex(SystemError, "fault"): ja(5) j = ja(5) _jpype.fault("JPArray::JPArraySlice") with self.assertRaisesRegex(SystemError, "fault"): j[0:2:1]
def testJPNumberFloat_float(self): jd = JFloat(1) _jpype.fault("PyJPNumberFloat_float") with self.assertRaisesRegex(SystemError, "fault"): float(jd) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): float(jd) float(jd)
def testJPNumberLong_hash(self): ji = JInt(1) _jpype.fault("PyJPNumberLong_hash") with self.assertRaises(SystemError): hash(ji) _jpype.fault("PyJPModule_getContext") with self.assertRaises(SystemError): hash(ji) hash(ji)
def testJPNumberLong_float(self): ji = JInt(1) _jpype.fault("PyJPNumberLong_float") with self.assertRaisesRegex(SystemError, "fault"): float(ji) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): float(ji) float(ji)
def testJPArray_releaseBuffer(self): _jpype.fault("PyJPArray_releaseBuffer") def f(): ja = JArray(JInt)(5) m = memoryview(ja) with self.assertRaises(SystemError): f()
def testJPNumberLong_compare(self): ji = JInt(1) _jpype.fault("PyJPNumberLong_compare") with self.assertRaisesRegex(SystemError, "fault"): ji == 1 _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): ji == 1 ji == 1
def testJPValue_str(self): js = JString("f") _jpype.fault("PyJPValue_str") with self.assertRaisesRegex(SystemError, "fault"): str(js) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): str(js) str(js)
def testJPObject_getattro(self): jo = JString("f") _jpype.fault("PyJPObject_getattro") with self.assertRaisesRegex(SystemError, "fault"): jo.substring _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): jo.substring jo.substring
def testJPObject_hash(self): jo = JClass("java.lang.Object")() _jpype.fault("PyJPObject_hash") with self.assertRaises(SystemError): hash(jo) _jpype.fault("PyJPModule_getContext") with self.assertRaises(SystemError): hash(jo) hash(jo)
def testJPMonitor_init(self): jo = JClass("java.lang.Object")() _jpype.fault("PyJPMonitor_init") with self.assertRaisesRegex(SystemError, "fault"): _jpype._JMonitor(jo) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): _jpype._JMonitor(jo) _jpype._JMonitor(jo)
def testJPClass_cnaConvertToJava(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_canConvertToJava") with self.assertRaisesRegex(SystemError, "fault"): js._canConvertToJava("f") _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): js._canConvertToJava("f") js._canConvertToJava("f")
def testJPNumberFloat_hash(self): jd = JDouble(1) _jpype.fault("PyJPNumberFloat_hash") with self.assertRaises(SystemError): hash(jd) _jpype.fault("PyJPModule_getContext") with self.assertRaises(SystemError): hash(jd) hash(jd)
def testJPNumberFloat_compare(self): jd = JDouble(1) _jpype.fault("PyJPNumberFloat_compare") with self.assertRaisesRegex(SystemError, "fault"): jd == 1 _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): jd == 1 jd == 1
def testJPNumberLong_int(self): jd = JShort(1) _jpype.fault("PyJPNumberLong_int") with self.assertRaisesRegex(SystemError, "fault"): int(jd) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): int(jd) int(jd)
def testJPObject_new(self): _jpype.fault("PyJPObject_new") with self.assertRaisesRegex(SystemError, "fault"): JString("a") _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): JString("a") with self.assertRaises(TypeError): _jpype._JObject() JString("a")
def testJPJavaFrameMonitor(self): jo = JClass("java.lang.Object")() _jpype.fault("JPJavaFrame::MonitorEnter") with self.assertRaisesRegex(SystemError, "fault"): with syncronized(jo): pass _jpype.fault("JPJavaFrame::MonitorExit") with self.assertRaisesRegex(SystemError, "fault"): with syncronized(jo): pass
def testJPProxy_void(self): @JImplements("java.util.function.Consumer") class f(object): @JOverride def accept(self, d): return None jo = JObject(f(), "java.util.function.Consumer") _jpype.fault("JPProxy::getArgs") jo.accept(None)
def testJPClass_class(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_class") with self.assertRaisesRegex(SystemError, "fault"): js.class_ with self.assertRaises(AttributeError): _jpype._JClass("foo", (_jpype.JObject, ), {}, internal=True).class_ _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): js.class_
def testJPClass_getattro(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_getattro") with self.assertRaisesRegex(SystemError, "fault"): js.foo with self.assertRaises(TypeError): getattr(js, object()) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): js.substring
def testJPObject_null(self): Fixture = JClass("jpype.common.Fixture") _jpype.fault("PyJPObject_init.null") null = Fixture() with self.assertRaisesRegex(TypeError, 'Not a Java value'): str(null) self.assertEqual(hash(null), hash(None)) with self.assertRaisesRegex(AttributeError, 'requires'): print(null.int_field) with self.assertRaisesRegex(AttributeError, 'requires'): null.int_field = 1
def testJPClass_cast(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_cast") with self.assertRaisesRegex(SystemError, "fault"): js._cast("f") with self.assertRaises(TypeError): js._cast(object()) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): js._cast(JObject(None)) js._cast(JObject(None))
def testJPBooleanType(self): ja = JArray(JBoolean)(5) # lgtm [py/similar-function] _jpype.fault("JPBooleanType::setArrayRange") with self.assertRaisesRegex(SystemError, "fault"): ja[1:3] = [0, 0] with self.assertRaises(TypeError): ja[1] = object() jf = JClass("jpype.common.Fixture") with self.assertRaises(TypeError): jf.static_bool_field = object() with self.assertRaises(TypeError): jf().bool_field = object()
def testJPClass_setClass(self): js = JClass("java.lang.String") _jpype.fault("PyJPClass_setClass") with self.assertRaisesRegex(SystemError, "fault"): js.class_ = None with self.assertRaises(TypeError): js.class_ = None with self.assertRaises(TypeError): js.class_ = JObject() _jpype.fault("PyJPModule_getContext") with self.assertRaises(SystemError): js.class_ = None
def testJPClassTypeGetJavaConversion(self): jc = JClass("java.lang.StringBuilder") _jpype.fault("JPClass::findJavaConversion") with self.assertRaisesRegex(SystemError, "fault"): jc._canConvertToJava(object()) @jpype.JConversion("java.lang.StringBuilder", exact=object) def f(self, obj): raise SystemError("fail") with self.assertRaisesRegex(SystemError, "fail"): jc._convertToJava(object())
def testJPClassHints_addTypeConversion(self): _jpype.fault("PyJPClassHints_addTypeConversion") with self.assertRaisesRegex(SystemError, "fault"): _jpype._JClassHints()._addTypeConversion("f", None) def f(): pass # with self.assertRaises(TypeError): # _jpype._JClassHints()._addTypeConversion(None, f, 1) with self.assertRaises(TypeError): _jpype._JClassHints()._addTypeConversion(str, None, 1) _jpype._JClassHints()._addTypeConversion(str, f, 1)
def testJPClassHints_addAttributeConversion(self): _jpype.fault("PyJPClassHints_addAttributeConversion") with self.assertRaisesRegex(SystemError, "fault"): _jpype._JClassHints()._addAttributeConversion("f", None) def f(): pass with self.assertRaises(TypeError): _jpype._JClassHints()._addAttributeConversion(None, f) with self.assertRaises(TypeError): _jpype._JClassHints()._addAttributeConversion("f", None) _jpype._JClassHints()._addAttributeConversion("f", f)
def testJPArrayPrimitive_getBuffer(self): _jpype.fault("PyJPArrayPrimitive_getBuffer") def f(): ja = JArray(JInt)(5) m = memoryview(ja) del m # lgtm [py/unnecessary-delete] with self.assertRaisesRegex(SystemError, "fault"): f() with self.assertRaises(BufferError): memoryview(JArray(JInt, 2)([[1, 2], [1], [1, 2, 3]])) _jpype.fault("PyJPModule_getContext") with self.assertRaisesRegex(SystemError, "fault"): f()