Skip to content

Commit 29f8dd3

Browse files
committed
Activate some more tests
They work thanks to the work of @iciclespider
2 parents 7f1b856 + a49253e commit 29f8dd3

File tree

1 file changed

+43
-40
lines changed

1 file changed

+43
-40
lines changed

tests/tests.py

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,13 @@ def setUpClass(cls):
7070
subprocess.call(['mvn', 'test'], shell=True)
7171
os.chdir(cwd)
7272

73-
def read_file(self, filename):
73+
def read_file(self, filename, stream=False):
7474
"""
7575
Reads the content of the given file in binary mode
7676
7777
:param filename: Name of the file to read
78-
:return: File content
78+
:param stream: If True, return the file stream
79+
:return: File content or stream
7980
"""
8081
for subfolder in ('java', ''):
8182
found_file = os.path.join(
@@ -85,8 +86,11 @@ def read_file(self, filename):
8586
else:
8687
raise IOError("File not found: {0}".format(filename))
8788

88-
with open(found_file, 'rb') as filep:
89-
return filep.read()
89+
if stream:
90+
return open(found_file, "rb")
91+
else:
92+
with open(found_file, 'rb') as filep:
93+
return filep.read()
9094

9195
def test_char_rw(self):
9296
"""
@@ -219,26 +223,26 @@ def test_super(self):
219223
self.assertEqual(pobj.integer, -1)
220224
self.assertEqual(pobj.superString, "Super!!")
221225

222-
# def test_arrays(self):
223-
# jobj = self.read_file("objArrays.ser")
224-
# pobj = javaobj.loads(jobj)
225-
# _logger.debug(pobj)
226-
#
227-
# classdesc = pobj.get_class()
228-
# _logger.debug(classdesc)
229-
# _logger.debug(classdesc.fields_names)
230-
# _logger.debug(classdesc.fields_types)
231-
#
232-
# # public String[] stringArr = {"1", "2", "3"};
233-
# # public int[] integerArr = {1,2,3};
234-
# # public boolean[] boolArr = {true, false, true};
235-
# # public TestConcrete[] concreteArr = {new TestConcrete(),
236-
# # new TestConcrete()};
237-
#
238-
# _logger.debug(pobj.stringArr)
239-
# _logger.debug(pobj.integerArr)
240-
# _logger.debug(pobj.boolArr)
241-
# _logger.debug(pobj.concreteArr)
226+
def test_arrays(self):
227+
jobj = self.read_file("objArrays.ser")
228+
pobj = javaobj.loads(jobj)
229+
_logger.debug(pobj)
230+
231+
classdesc = pobj.get_class()
232+
_logger.debug(classdesc)
233+
_logger.debug(classdesc.fields_names)
234+
_logger.debug(classdesc.fields_types)
235+
236+
# public String[] stringArr = {"1", "2", "3"};
237+
# public int[] integerArr = {1,2,3};
238+
# public boolean[] boolArr = {true, false, true};
239+
# public TestConcrete[] concreteArr = {new TestConcrete(),
240+
# new TestConcrete()};
241+
242+
_logger.debug(pobj.stringArr)
243+
_logger.debug(pobj.integerArr)
244+
_logger.debug(pobj.boolArr)
245+
_logger.debug(pobj.concreteArr)
242246

243247
def test_enums(self):
244248
jobj = self.read_file("objEnums.ser")
@@ -254,10 +258,9 @@ def test_enums(self):
254258
self.assertEqual(pobj.color.classdesc.name, "Color")
255259
self.assertEqual(pobj.color.constant, "GREEN")
256260

257-
# FIXME: got Strings instead of Enum
258-
# for color, intended in zip(pobj.colors, ("GREEN", "BLUE", "RED")):
259-
# self.assertEqual(color.classdesc.name, "Color")
260-
# self.assertEqual(color.constant, intended)
261+
for color, intended in zip(pobj.colors, ("GREEN", "BLUE", "RED")):
262+
self.assertEqual(color.classdesc.name, "Color")
263+
self.assertEqual(color.constant, intended)
261264

262265
# def test_exception(self):
263266
# jobj = self.read_file("objException.ser")
@@ -272,18 +275,18 @@ def test_enums(self):
272275
# # TODO: add some tests
273276
# self.assertEqual(classdesc.name, "MyExceptionWhenDumping")
274277

275-
# def test_sun_example(self):
276-
# marshaller = javaobj.JavaObjectUnmarshaller(
277-
# open("sunExample.ser", "rb"))
278-
# pobj = marshaller.readObject()
279-
#
280-
# self.assertEqual(pobj.value, 17)
281-
# self.assertTrue(pobj.next)
282-
#
283-
# pobj = marshaller.readObject()
284-
#
285-
# self.assertEqual(pobj.value, 19)
286-
# self.assertFalse(pobj.next)
278+
def test_sun_example(self):
279+
marshaller = javaobj.JavaObjectUnmarshaller(
280+
self.read_file("sunExample.ser", stream=True))
281+
pobj = marshaller.readObject()
282+
283+
self.assertEqual(pobj.value, 17)
284+
self.assertTrue(pobj.next)
285+
286+
pobj = marshaller.readObject()
287+
288+
self.assertEqual(pobj.value, 19)
289+
self.assertFalse(pobj.next)
287290

288291
def test_collections(self):
289292
jobj = self.read_file("objCollections.ser")

0 commit comments

Comments
 (0)