Mercurial > octave
changeset 23681:8b5bc5e5f74b
add unit tests creating and calling methods on some basic Java types
* ov-java.cc: Add %!tests for instantiating and calling methods on basic
Java numeric classes, Boolean class, and AWT Frame class.
author | Philip Nienhuis <prnienhuis@users.sf.net> |
---|---|
date | Thu, 22 Jun 2017 19:38:58 -0700 |
parents | ef71711f6d64 |
children | 6fe13cd3543c |
files | libinterp/octave-value/ov-java.cc |
diffstat | 1 files changed, 54 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-java.cc Thu Jun 22 16:23:36 2017 -0400 +++ b/libinterp/octave-value/ov-java.cc Thu Jun 22 19:38:58 2017 -0700 @@ -3233,6 +3233,54 @@ %! assert (class (javaObject ("java.lang.Long", uint64 (1))), "java.lang.Long"); %! assert (class (javaObject ("java.lang.Long", int64 (1))), "java.lang.Long"); +## More checks of java numeric and boolean class instances +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Double", 1.35); +%! assert (n.compareTo (1.0), 1); +%! assert (n.compareTo (1.35), 0); +%! assert (n.compareTo (10), -1); +%! assert (n.isInfinite (), false); + +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Float", 1.35); +%! assert (n.compareTo (1.0), 1); +%! assert (n.compareTo (1.35), 0); +%! assert (n.compareTo (10), -1); +%! assert (n.doubleValue (), 1.35, 1e7); + +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Long", (int64 (1))); +%! assert (n.compareTo (int64 (0)), 1); +%! assert (n.compareTo (int64 (1)), 0); +%! assert (n.compareTo (int64 (2)), -1); +%! assert (n.toString (), "1"); + +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Integer", 1.35); +%! assert (n.compareTo (0), 1); +%! assert (n.compareTo (1), 0); +%! assert (n.compareTo (2), -1); + +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Short", 1.35); +%! assert (n.compareTo (0), 1); +%! assert (n.compareTo (1), 0); +%! assert (n.compareTo (2), -1); + +%!testif HAVE_JAVA; usejava ("jvm") +%! n = javaObject ("java.lang.Byte", int8 (17)); +%! assert (n.compareTo (int8 (20)), -3); +%! assert (n.compareTo (int8 (10)), 7); +%! assert (n.compareTo (int8 (17)), 0); + +%!testif HAVE_JAVA; usejava ("jvm") +%! b = javaObject ("java.lang.Boolean", true); +%! assert (b.compareTo (true), 0); +%! assert (b.compareTo (false), 1); +%! b = javaObject ("java.lang.Boolean", false); +%! assert (b.compareTo (true), -1); +%! assert (b.compareTo (false), 0); + ## Test for automatic conversion of specific numeric classes %!testif HAVE_JAVA; usejava ("jvm") <*48013> %! assert (javaMethod ("valueOf", "java.lang.Byte", int8 (1)), 1) @@ -3266,4 +3314,10 @@ %! assert (a(1).s.charAt (5), "e") %! assert (a(1).s.matches ("^Octave$")) %! assert (a(1).s.startsWith ("Oct")) + +## Check for basic usability of the java awt library +%!testif HAVE_JAVA; usejava ("jvm") && usejava ("awt") && have_window_system () +%! frame = javaObject ("java.awt.Frame"); +%! frame.setResizable (true); +%! assert (frame.isResizable ()); */