| // Tags: JDK1.1 |
| |
| // Copyright (C) 2002 Free Software Foundation, Inc. |
| // Written by Mark Wielaard (mark@klomp.org) |
| // |
| // This file is part of Mauve. |
| |
| // Mauve is free software; you can redistribute it and/or modify |
| // it under the terms of the GNU General Public License as published by |
| // the Free Software Foundation; either version 2, or (at your option) |
| // any later version. |
| |
| // Mauve is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| |
| // You should have received a copy of the GNU General Public License |
| // along with Mauve; see the file COPYING. If not, write to |
| // the Free Software Foundation, 59 Temple Place - Suite 330, |
| // Boston, MA 02111-1307, USA. */ |
| |
| package gnu.testlet.java.lang.System; |
| |
| import gnu.testlet.Testlet; |
| import gnu.testlet.TestHarness; |
| |
| public class identityHashCode implements Testlet |
| { |
| public int hashCode() |
| { |
| return 42; |
| } |
| |
| private int origHashCode() |
| { |
| return super.hashCode(); |
| } |
| |
| public void test (TestHarness harness) |
| { |
| // Returns the same as hash code for any object that does not override it. |
| Object o = new Object(); |
| harness.check(System.identityHashCode(o), o.hashCode()); |
| |
| // Exception also does not override hashCode |
| o = new Exception(); |
| harness.check(System.identityHashCode(o), o.hashCode()); |
| |
| // When a class overrides it you can still get the original |
| identityHashCode ihc = new identityHashCode(); |
| harness.check(System.identityHashCode(ihc), ihc.origHashCode()); |
| |
| // null has identityHashCode zero |
| harness.check(System.identityHashCode(null), 0); |
| } |
| } |