generate equals/hashCode: tests for apache/guava templates

This commit is contained in:
Anna Kozlova
2015-01-12 17:25:52 +01:00
parent b6f4a751cc
commit 1aea6bd2b3
6 changed files with 233 additions and 9 deletions
@@ -0,0 +1,78 @@
class B {
@Override
public boolean equals(Object obj) {
return obj != null;
}
@Override
public int hashCode() {
return super.hashCode();
}
}
class A extends B {
Object[] a1;
Object[][] a2;
String[] a3;
String[][] a4;
int[] a5;
int[][] a6;
byte a7;
short a8;
int a9;
long a10;
float a11;
double a12;
Object a13;
String a14;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
final A a = (A) o;
return new org.apache.commons.lang3.builder.EqualsBuilder()
.appendSuper(super.equals(o))
.append(a10, a.a10)
.append(a11, a.a11)
.append(a12, a.a12)
.append(a7, a.a7)
.append(a8, a.a8)
.append(a9, a.a9)
.append(a1, a.a1)
.append(a13, a.a13)
.append(a14, a.a14)
.append(a2, a.a2)
.append(a3, a.a3)
.append(a4, a.a4)
.append(a5, a.a5)
.append(a6, a.a6)
.isEquals();
}
@Override
public int hashCode() {
return new org.apache.commons.lang3.builder.HashCodeBuilder(17, 37)
.appendSuper(super.hashCode())
.append(a1)
.append(a2)
.append(a3)
.append(a4)
.append(a5)
.append(a6)
.append(a7)
.append(a8)
.append(a9)
.append(a10)
.append(a11)
.append(a12)
.append(a13)
.append(a14)
.toHashCode();
}
}
@@ -0,0 +1,59 @@
import java.util.Arrays;
class B {
@Override
public boolean equals(Object obj) {
return obj != null;
}
@Override
public int hashCode() {
return super.hashCode();
}
}
class A extends B {
Object[] a1;
Object[][] a2;
String[] a3;
String[][] a4;
int[] a5;
int[][] a6;
byte a7;
short a8;
int a9;
long a10;
float a11;
double a12;
Object a13;
String a14;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
final A a = (A) o;
return com.google.common.base.Objects.equal(a10, a.a10) &&
com.google.common.base.Objects.equal(a11, a.a11) &&
com.google.common.base.Objects.equal(a12, a.a12) &&
com.google.common.base.Objects.equal(a7, a.a7) &&
com.google.common.base.Objects.equal(a8, a.a8) &&
com.google.common.base.Objects.equal(a9, a.a9) &&
Arrays.equals(a1, a.a1) &&
com.google.common.base.Objects.equal(a13, a.a13) &&
com.google.common.base.Objects.equal(a14, a.a14) &&
Arrays.deepEquals(a2, a.a2) &&
Arrays.equals(a3, a.a3) &&
Arrays.deepEquals(a4, a.a4) &&
Arrays.equals(a5, a.a5) &&
Arrays.deepEquals(a6, a.a6);
}
@Override
public int hashCode() {
return com.google.common.base.Objects.hashCode(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
}
}
@@ -0,0 +1,31 @@
class B {
@Override
public boolean equals(Object obj) {
return obj != null;
}
@Override
public int hashCode() {
return super.hashCode();
}
}
class A extends B {
Object[] a1;
Object[][] a2;
String[] a3;
String[][] a4;
int[] a5;
int[][] a6;
byte a7;
short a8;
int a9;
long a10;
float a11;
double a12;
Object a13;
String a14;
<caret>
}
@@ -0,0 +1,31 @@
class B {
@Override
public boolean equals(Object obj) {
return obj != null;
}
@Override
public int hashCode() {
return super.hashCode();
}
}
class A extends B {
Object[] a1;
Object[][] a2;
String[] a3;
String[][] a4;
int[] a5;
int[][] a6;
byte a7;
short a8;
int a9;
long a10;
float a11;
double a12;
Object a13;
String a14;
<caret>
}