-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathtest_basics.py
More file actions
54 lines (43 loc) · 1.43 KB
/
test_basics.py
File metadata and controls
54 lines (43 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
"""
Tests for key functions across all scyjava submodules.
"""
import re
import pytest
import scyjava
from scyjava.config import Mode, mode
class TestBasics(object):
"""
Test basic scyjava functions.
"""
def test_jclass(self):
"""
Test the jclass function.
"""
if mode == Mode.JEP:
pytest.skip("Jep does not support Java class objects!")
c = scyjava.jclass("java.lang.Object")
assert scyjava.jinstance(c, "java.lang.Class")
assert str(c.toString()) == "class java.lang.Object"
def test_jimport(self):
"""
Test the jimport function.
"""
Object = scyjava.jimport("java.lang.Object")
assert Object is not None
assert str(Object)
o = Object()
assert scyjava.jinstance(o, "java.lang.Object")
assert re.match("java.lang.Object@[0-9a-f]+", str(o.toString()))
def test_jinstance(self):
"""
Test the jinstance function.
"""
jstr = scyjava.to_java("Hello")
assert scyjava.jinstance(jstr, "java.lang.String")
jint = scyjava.to_java(5)
assert scyjava.jinstance(jint, "java.lang.Integer")
jfloat = scyjava.to_java(3.5)
assert scyjava.jinstance(jfloat, "java.lang.Float")
jlist = scyjava.to_java([3, 2, 1])
assert scyjava.jinstance(jlist, "java.util.List")
assert scyjava.jinstance(jlist, "java.util.ArrayList")