# HG changeset patch # User Doug Simon # Date 1339754713 -7200 # Node ID 19ca9e48cd315c00dd4ce7c4d28c6b7dad55bd7c # Parent 310ed6650682deae1f1bf8353c09108f9d22dea6 added more tests to NewInstanceTest diff -r 310ed6650682 -r 19ca9e48cd31 graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/NewInstanceTest.java --- a/graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/NewInstanceTest.java Fri Jun 15 12:04:26 2012 +0200 +++ b/graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/NewInstanceTest.java Fri Jun 15 12:05:13 2012 +0200 @@ -36,12 +36,20 @@ Assert.assertTrue(expected != null); Assert.assertTrue(actual != null); super.assertEquals(expected.getClass(), actual.getClass()); + if (expected.getClass() != Object.class) { + try { + expected.getClass().getDeclaredMethod("equals", Object.class); + super.assertEquals(expected, actual); + } catch (Exception e) { + } + } } @Test public void test1() { test("newObject"); test("newBigObject"); + test("newSomeObject"); test("newEmptyString"); test("newString", "value"); test("newHashMap", 31); @@ -55,6 +63,10 @@ return new BigObject(); } + public static SomeObject newSomeObject() { + return new SomeObject(); + } + public static String newEmptyString() { return new String(); } @@ -67,6 +79,30 @@ return new HashMap(initialCapacity); } + static class SomeObject { + String name = "o1"; + HashMap map = new HashMap<>(); + + + public SomeObject() { + map.put(name, this.getClass()); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof SomeObject) { + SomeObject so = (SomeObject) obj; + return so.name.equals(name) && so.map.equals(map); + } + return false; + } + + @Override + public int hashCode() { + return name.hashCode(); + } + } + static class BigObject { Object f01; Object f02;