@@ -39,11 +39,46 @@ def test_jreflect_fields(self):
3939 BitSet = scyjava .jimport (str_BitSet )
4040 str_Obj = scyjava .jreflect (str_BitSet , "fields" )
4141 bitset_Obj = scyjava .jreflect (BitSet , "fields" )
42- assert len (str_Obj ) == 0
43- assert len (bitset_Obj ) == 0
42+ assert len (str_Obj ) == len (bitset_Obj ) == 0
4443 assert bitset_Obj is not None
4544 assert bitset_Obj == str_Obj
4645
46+ def test_jreflect_ctors (self ):
47+ if mode == Mode .JEP :
48+ # JEP does not support the jclass function.
49+ return
50+ str_ArrayList = "java.util.ArrayList"
51+ ArrayList = scyjava .jimport (str_ArrayList )
52+ str_Obj = scyjava .jreflect (str_ArrayList , "constructors" )
53+ arraylist_Obj = scyjava .jreflect (ArrayList , "constructors" )
54+ assert len (str_Obj ) == len (arraylist_Obj ) == 3
55+ arraylist_Obj .sort (
56+ key = lambda row : f"{ row ['type' ]} :{ row ['name' ]} :{ ',' .join (str (row ['arguments' ]))} "
57+ )
58+ assert arraylist_Obj == [
59+ {
60+ "arguments" : ["int" ],
61+ "mods" : ["public" ],
62+ "name" : "java.util.ArrayList" ,
63+ "returns" : "java.util.ArrayList" ,
64+ "type" : "constructor" ,
65+ },
66+ {
67+ "arguments" : ["java.util.Collection" ],
68+ "mods" : ["public" ],
69+ "name" : "java.util.ArrayList" ,
70+ "returns" : "java.util.ArrayList" ,
71+ "type" : "constructor" ,
72+ },
73+ {
74+ "arguments" : [],
75+ "mods" : ["public" ],
76+ "name" : "java.util.ArrayList" ,
77+ "returns" : "java.util.ArrayList" ,
78+ "type" : "constructor" ,
79+ },
80+ ]
81+
4782 def test_jsource (self ):
4883 if mode == Mode .JEP :
4984 # JEP does not support the jclass function.
0 commit comments