@@ -48,6 +48,7 @@ public static void main(String[] args) {
4848 FHashSet <MyInteger > fhs = testFHashSet (rand , i );
4949 //FSet pchs = testFCachedHashSet(rand, i);
5050 testFLinkedHashSet (rand , i );
51+ testFLinkedHashMap (rand , i );
5152 testFTreeMap (rand , i , fts );
5253 testFHashMap (rand , i , fhs );
5354 //testFCachedHashMap(rand, i, pchs);
@@ -379,7 +380,7 @@ static FTreeSet<MyInteger> testFTreeSet(Random rand, int i) {
379380 ObjectInputStream ois = new ObjectInputStream (fis );
380381 FSet <MyInteger > nftsser = (FSet <MyInteger >)ois .readObject ();
381382 ois .close ();
382- if (!ftsser .equals (nftsser )) {
383+ if (!ftsser .equals (nftsser ) || ftsser . hashCode () != nftsser . hashCode () ) {
383384 println ("FTreeSet read/write failed on iteration " + i );
384385 exit ();
385386 }
@@ -660,7 +661,7 @@ static FHashSet<MyInteger> testFHashSet(Random rand, int i) {
660661 ObjectInputStream ois = new ObjectInputStream (fis );
661662 FSet <MyInteger > nfhsser = (FSet <MyInteger >)ois .readObject ();
662663 ois .close ();
663- if (!fhsser .equals (nfhsser )) {
664+ if (!fhsser .equals (nfhsser ) || fhsser . hashCode () != nfhsser . hashCode () ) {
664665 println ("FHashSet read/write failed on iteration " + i );
665666 exit ();
666667 }
@@ -739,8 +740,8 @@ static void testFLinkedHashSet(Random rand, int i) {
739740 ObjectInputStream ois = new ObjectInputStream (fis );
740741 FSet <Integer > nfhsser = (FSet <Integer >)ois .readObject ();
741742 ois .close ();
742- if (!fhsser .equals (nfhsser )) {
743- println ("FHashSet read/write failed on iteration " + i );
743+ if (!fhsser .equals (nfhsser ) || fhsser . hashCode () != nfhsser . hashCode () ) {
744+ println ("FLinkedHashSet read/write failed on iteration " + i );
744745 exit ();
745746 }
746747 flhs0_it = flhs0 .iterator ();
@@ -1039,7 +1040,7 @@ static FSet testFCachedHashSet(Random rand, int i) {
10391040 ObjectInputStream ois = new ObjectInputStream(fis);
10401041 FSet nfhsser = (FSet)ois.readObject();
10411042 ois.close();
1042- if (!fhsser.equals(nfhsser)) {
1043+ if (!fhsser.equals(nfhsser) || fhsser.hashCode() != nfhsser.hashCode() ) {
10431044 println("FCachedHashSet read/write failed on iteration " + i);
10441045 exit();
10451046 }
@@ -1352,7 +1353,7 @@ static void testFTreeMap(Random rand, int i, FTreeSet<MyInteger> set) {
13521353 FMap <MyInteger , MyInteger > nftmser =
13531354 (FMap <MyInteger , MyInteger >)ois .readObject ();
13541355 ois .close ();
1355- if (!ftmser .equals (nftmser )) {
1356+ if (!ftmser .equals (nftmser ) || ftmser . hashCode () != nftmser . hashCode () ) {
13561357 println ("FTreeMap read/write failed on iteration " + i );
13571358 exit ();
13581359 }
@@ -1543,7 +1544,7 @@ static void testFHashMap(Random rand, int i, FHashSet<MyInteger> set) {
15431544 ObjectInputStream ois = new ObjectInputStream (fis );
15441545 FMap <MyInteger , MyInteger > nfhmser = (FMap <MyInteger , MyInteger >)ois .readObject ();
15451546 ois .close ();
1546- if (!fhmser .equals (nfhmser )) {
1547+ if (!fhmser .equals (nfhmser ) || fhmser . hashCode () != nfhmser . hashCode () ) {
15471548 println ("FHashMap read/write failed on iteration " + i );
15481549 exit ();
15491550 }
@@ -1731,7 +1732,7 @@ static void testFCachedHashMap(Random rand, int i, FSet set) {
17311732 ObjectInputStream ois = new ObjectInputStream(fis);
17321733 FMap nfhmser = (FMap)ois.readObject();
17331734 ois.close();
1734- if (!fhmser.equals(nfhmser)) {
1735+ if (!fhmser.equals(nfhmser) || fhmser.hashCode() != nfhmser.hashCode() ) {
17351736 println("FCachedHashMap read/write failed on iteration " + i);
17361737 exit();
17371738 }
@@ -1792,8 +1793,8 @@ static void testFLinkedHashMap(Random rand, int i) {
17921793 ObjectInputStream ois = new ObjectInputStream (fis );
17931794 FMap <Integer , Integer > nfhmser = (FMap <Integer , Integer >)ois .readObject ();
17941795 ois .close ();
1795- if (!fhmser .equals (nfhmser )) {
1796- println ("FHashMap read/write failed on iteration " + i );
1796+ if (!fhmser .equals (nfhmser ) || fhmser . hashCode () != nfhmser . hashCode () ) {
1797+ println ("FLinkedHashMap read/write failed on iteration " + i );
17971798 exit ();
17981799 }
17991800 flhm0_it = flhm0 .iterator ();
@@ -2044,12 +2045,15 @@ static void testFTreeList(Random rand, int i) {
20442045 FileOutputStream fos = new FileOutputStream ("ftl.tmp" );
20452046 ObjectOutputStream oos = new ObjectOutputStream (fos );
20462047 oos .writeObject (ftlser );
2048+ oos .writeObject (ftlser );
20472049 oos .close ();
20482050 FileInputStream fis = new FileInputStream ("ftl.tmp" );
20492051 ObjectInputStream ois = new ObjectInputStream (fis );
2050- FList <MyInteger > nftlser = (FList <MyInteger >)ois .readObject ();
2052+ FList <MyInteger > nftlser0 = (FList <MyInteger >)ois .readObject ();
2053+ FList <MyInteger > nftlser1 = (FList <MyInteger >)ois .readObject ();
20512054 ois .close ();
2052- if (!ftlser .equals (nftlser )) {
2055+ if (!ftlser .equals (nftlser0 ) || !ftlser .equals (nftlser1 ) ||
2056+ ftlser .hashCode () != nftlser0 .hashCode ()) {
20532057 println ("FTreeList read/write failed on iteration " + i );
20542058 exit ();
20552059 }
0 commit comments