summaryrefslogtreecommitdiff
path: root/src/test/java/au/id/zancanaro/javacheck/object/MyObject.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/au/id/zancanaro/javacheck/object/MyObject.java')
-rw-r--r--src/test/java/au/id/zancanaro/javacheck/object/MyObject.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/java/au/id/zancanaro/javacheck/object/MyObject.java b/src/test/java/au/id/zancanaro/javacheck/object/MyObject.java
new file mode 100644
index 0000000..ac0c370
--- /dev/null
+++ b/src/test/java/au/id/zancanaro/javacheck/object/MyObject.java
@@ -0,0 +1,50 @@
+package au.id.zancanaro.javacheck.object;
+
+public class MyObject {
+ public final String string;
+ public final int value;
+ public final SubObject<Integer> subObject;
+
+ public MyObject(String string, int value, SubObject<Integer> subObject) {
+ this.string = string;
+ this.value = value;
+ this.subObject = subObject;
+ }
+
+ @UseForGeneration
+ public MyObject(String string, SubObject<Integer> subObject) {
+ this(string, string.length(), subObject);
+ }
+
+ public MyObject add(MyObject other) {
+ return new MyObject(
+ this.string + other.string,
+ this.value + other.value,
+ this.subObject.add(other.subObject));
+ }
+
+ @Override
+ public String toString() {
+ return "{" + string + ", " + value + ", " + subObject + "}";
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ MyObject myObject = (MyObject) o;
+
+ return value == myObject.value
+ && string.equals(myObject.string)
+ && subObject.equals(myObject.subObject);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = string.hashCode();
+ result = 31 * result + value;
+ result = 31 * result + subObject.hashCode();
+ return result;
+ }
+}