changeset 22203:2f301a30aeed

Add tests for Java numeric type conversion (bug #48013) * ov-java.cc: Add %!tests for conversion of specific Java types to Octave numeric types.
author Mike Miller <mtmiller@octave.org>
date Wed, 03 Aug 2016 10:23:41 -0700
parents f094186125d3
children 469c817eb256
files libinterp/octave-value/ov-java.cc
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-java.cc	Wed Aug 03 10:10:59 2016 -0700
+++ b/libinterp/octave-value/ov-java.cc	Wed Aug 03 10:23:41 2016 -0700
@@ -3127,6 +3127,17 @@
 %! assert (class (javaObject ("java.lang.Long",    uint64 (1))), "java.lang.Long");
 %! assert (class (javaObject ("java.lang.Long",     int64 (1))), "java.lang.Long");
 
+## Test for automatic conversion of specific numeric classes (bug #48013)
+%!testif HAVE_JAVA
+%! assert (javaMethod ("valueOf", "java.lang.Byte",     int8 (1)), 1)
+%! assert (javaMethod ("valueOf", "java.lang.Short",   int16 (1)), 1)
+%! assert (javaMethod ("valueOf", "java.lang.Integer", int32 (1)), 1)
+%! assert (javaMethod ("valueOf", "java.lang.Long",    int64 (1)), 1)
+%! assert (javaMethod ("valueOf", "java.lang.Float",  single (1)), 1)
+%! assert (javaMethod ("valueOf", "java.lang.Double", double (1)), 1)
+%! assert (class (javaMethod ("valueOf", "java.math.BigDecimal", double (1))), "java.math.BigDecimal")
+%! assert (class (javaMethod ("valueOf", "java.math.BigInteger",  int64 (1))), "java.math.BigInteger")
+
 ## Automatic conversion from string cell array into String[] (bug #45290)
 %!testif HAVE_JAVA
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", {"aaa", "bbb", "ccc", "zzz"}, "aaa"), 0);