pyjnius/tests/test_bytearray.py

42 lines
1.5 KiB
Python
Raw Normal View History

from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
import unittest
from jnius import autoclass
class StringArgumentForByteArrayTest(unittest.TestCase):
def test_string_arg_for_byte_array(self):
# the ByteBuffer.wrap() accept only byte[].
ByteBuffer = autoclass('java.nio.ByteBuffer')
self.assertIsNotNone(ByteBuffer.wrap(b'hello world'))
def test_string_arg_with_signed_char(self):
ByteBuffer = autoclass('java.nio.ByteBuffer')
self.assertIsNotNone(ByteBuffer.wrap(b'\x00\xffHello World\x7f'))
2015-02-07 18:31:04 +00:00
def test_fill_byte_array(self):
arr = [0, 0, 0]
Test = autoclass('org.jnius.BasicsTest')()
Test.fillByteArray(arr)
# we don't received signed byte, but unsigned in python.
2015-02-07 18:31:04 +00:00
self.assertEquals(
arr,
[127, 1, 129])
def test_create_bytearray(self):
StringBufferInputStream = autoclass('java.io.StringBufferInputStream')
nis = StringBufferInputStream("Hello world")
barr = bytearray("\x00" * 5, encoding="utf8")
self.assertEquals(nis.read(barr, 0, 5), 5)
self.assertEquals(barr, "Hello")
def test_bytearray_ascii(self):
ByteArrayInputStream = autoclass('java.io.ByteArrayInputStream')
s = "".join(chr(x) for x in range(256))
nis = ByteArrayInputStream(s)
barr = bytearray("\x00" * 256, encoding="ascii")
self.assertEquals(nis.read(barr, 0, 256), 256)
self.assertEquals(barr, s)