d0df704d8a
added python.path vm arg to startup script fixed infinite loop in unwrap() when displaying sequences of sequences git-svn-id: http://google-refine.googlecode.com/svn/trunk@509 7d457c2a-affb-35e4-300a-418c747d4874
78 lines
2.6 KiB
Python
78 lines
2.6 KiB
Python
# The jarray module is being phased out, with all functionality
|
|
# now available in the array module.
|
|
from __future__ import with_statement
|
|
import os
|
|
import unittest
|
|
from test import test_support
|
|
from array import array, zeros
|
|
from java.lang import String
|
|
from java.lang.reflect import Array
|
|
from java.util import Arrays
|
|
|
|
class ArrayJyTestCase(unittest.TestCase):
|
|
|
|
def test_jarray(self): # until it is fully formally removed
|
|
# While jarray is still being phased out, just flex the initializers.
|
|
# The rest of the test for array will catch all the big problems.
|
|
import jarray
|
|
jarray.array(range(5), 'i')
|
|
jarray.array([String("a"), String("b"), String("c")], String)
|
|
jarray.zeros(5, 'i')
|
|
jarray.zeros(5, String)
|
|
|
|
def test_java_object_arrays(self):
|
|
jStringArr = array(String, [String("a"), String("b"), String("c")])
|
|
self.assert_(
|
|
Arrays.equals(jStringArr.typecode, 'java.lang.String'),
|
|
"String array typecode of wrong type, expected %s, found %s" %
|
|
(jStringArr.typecode, str(String)))
|
|
self.assertEqual(zeros(String, 5), Array.newInstance(String, 5))
|
|
|
|
import java.lang.String # require for eval to work
|
|
self.assertEqual(jStringArr, eval(str(jStringArr)))
|
|
|
|
def test_java_compat(self):
|
|
from java.awt import Color
|
|
hsb = Color.RGBtoHSB(0,255,255, None)
|
|
self.assertEqual(hsb, array('f', [0.5,1,1]),
|
|
"output hsb float array does not correspond to input rgb values")
|
|
|
|
rgb = apply(Color.HSBtoRGB, tuple(hsb))
|
|
self.assertEqual(rgb, -0xff0001,
|
|
"output rgb bytes don't match input hsb floats")
|
|
hsb1 = zeros('f', 3)
|
|
Color.RGBtoHSB(0, 255, 255, hsb1)
|
|
self.assertEqual(hsb, hsb1, "hsb float arrays were not equal")
|
|
|
|
|
|
class ToFromfileTestCase(unittest.TestCase):
|
|
|
|
def tearDown(self):
|
|
if os.path.exists(test_support.TESTFN):
|
|
os.remove(test_support.TESTFN)
|
|
|
|
def test_tofromfile(self):
|
|
# http://bugs.jython.org/issue1457
|
|
x = array('i', range(5))
|
|
with open(test_support.TESTFN, 'wb') as f:
|
|
x.tofile(f)
|
|
|
|
x = array('i', [])
|
|
with open(test_support.TESTFN, 'r+b') as f:
|
|
x.fromfile(f, 5)
|
|
x *= 2
|
|
x.tofile(f)
|
|
|
|
with open(test_support.TESTFN, 'rb') as f:
|
|
x.fromfile(f, 10)
|
|
self.assertEqual(x, array('i', range(5) * 4))
|
|
|
|
|
|
def test_main():
|
|
test_support.run_unittest(ArrayJyTestCase,
|
|
ToFromfileTestCase)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_main()
|