From 60bc9218d0872e40a6857706d51955ee3d058717 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Wed, 10 Jun 2015 00:21:35 +1000 Subject: Support enums in the ObjectGeneration stuff --- .../id/zancanaro/javacheck/object/MyObjectAddTest.java | 1 + .../java/au/id/zancanaro/javacheck/object/SubObject.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src/test/java/au/id') diff --git a/src/test/java/au/id/zancanaro/javacheck/object/MyObjectAddTest.java b/src/test/java/au/id/zancanaro/javacheck/object/MyObjectAddTest.java index 9321acb..884114c 100644 --- a/src/test/java/au/id/zancanaro/javacheck/object/MyObjectAddTest.java +++ b/src/test/java/au/id/zancanaro/javacheck/object/MyObjectAddTest.java @@ -16,6 +16,7 @@ public class MyObjectAddTest { assertTrue(added.string.length() == a.string.length() + b.string.length()); assertTrue(added.value == a.value + b.value); assertEquals(added.subObject, a.subObject.add(b.subObject)); + assertEquals(added.subObject.value, a.subObject.value); } } diff --git a/src/test/java/au/id/zancanaro/javacheck/object/SubObject.java b/src/test/java/au/id/zancanaro/javacheck/object/SubObject.java index bdf2ce8..1e49cfe 100644 --- a/src/test/java/au/id/zancanaro/javacheck/object/SubObject.java +++ b/src/test/java/au/id/zancanaro/javacheck/object/SubObject.java @@ -4,9 +4,11 @@ import java.util.*; public class SubObject { public final Map> obj; + public final EnumValues value; - public SubObject(Map> obj) { + public SubObject(Map> obj, EnumValues value) { this.obj = obj; + this.value = value; } public SubObject add(SubObject other) { @@ -21,12 +23,12 @@ public class SubObject { values.put(key, entry.getValue()); } } - return new SubObject<>(Collections.unmodifiableMap(values)); + return new SubObject<>(Collections.unmodifiableMap(values), this.value); } @Override public String toString() { - return obj.toString(); + return "{" + obj.toString() + ", " + this.value + "}"; } @Override @@ -34,11 +36,15 @@ public class SubObject { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SubObject subObject = (SubObject) o; - return obj.equals(subObject.obj); + return obj.equals(subObject.obj) && value.equals(subObject.value); } @Override public int hashCode() { - return obj.hashCode(); + return obj.hashCode() + 37 * value.hashCode(); + } + + public static enum EnumValues { + A, B, C } } -- cgit v1.2.3