Added new tests to confirm that longs are not properly handled with multiplemethods

This commit is contained in:
Juan Toledo 2017-08-21 16:48:27 +02:00
parent 5fe9763353
commit f0c5b97915
3 changed files with 20 additions and 0 deletions

View File

@ -29,4 +29,8 @@ public class MultipleMethods {
public static String resolve(int... integers) {
return "resolved varargs";
}
public static String resolve(int i, long j, String k) {
return "resolved one int, one long and a string";
}
}

View File

@ -101,6 +101,8 @@ class BasicsTest(unittest.TestCase):
test = autoclass('org.jnius.BasicsTest')()
self.assertEquals(test.methodParamsZBCSIJFD(
True, 127, 'k', 32767, 2147483467, 9223372036854775807, 1.23456789, 1.23456789), True)
self.assertEquals(test.methodParamsZBCSIJFD(
True, 127L, 'k', 32767L, 2147483467L, 9223372036854775807, 1.23456789, 1.23456789), True)
self.assertEquals(test.methodParamsString('helloworld'), True)
self.assertEquals(test.methodParamsArrayI([1, 2, 3]), True)
self.assertEquals(test.methodParamsArrayString([

View File

@ -44,6 +44,20 @@ class MultipleSignature(unittest.TestCase):
MultipleMethods = autoclass('org.jnius.MultipleMethods')
self.assertEqual(MultipleMethods.resolve(1, 2, 3), 'resolved varargs')
def test_multiple_methods_varargs_long(self):
MultipleMethods = autoclass('org.jnius.MultipleMethods')
self.assertEqual(MultipleMethods.resolve(1L, 2L, 3L), 'resolved varargs')
def test_multiple_methods_two_args_and_varargs(self):
MultipleMethods = autoclass('org.jnius.MultipleMethods')
self.assertEqual(MultipleMethods.resolve('one', 'two', 1, 2, 3), 'resolved two args and varargs')
def test_multiple_methods_one_int_one_small_long_and_a_string(self):
MultipleMethods = autoclass('org.jnius.MultipleMethods')
self.assertEqual(MultipleMethods.resolve(
1, 1L, "one"), "resolved one int, one long and a string")
def test_multiple_methods_one_int_one_actual_long_and_a_string(self):
MultipleMethods = autoclass('org.jnius.MultipleMethods')
self.assertEqual(MultipleMethods.resolve(
1, 2 ** 63 - 1, "one"), "resolved one int, one long and a string")