You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2010/10/18 17:14:40 UTC
svn commit: r1023840 - in /incubator/isis/trunk/core/testsupport: ./
src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/isis/
src/main/java/org/apache/isis/testsupport/ src/test/java/org/
src/test/java/org/apache/ src/test/java/org/a...
Author: danhaywood
Date: Mon Oct 18 15:14:39 2010
New Revision: 1023840
URL: http://svn.apache.org/viewvc?rev=1023840&view=rev
Log:
adding ValueTypeContractTestAbstract to testsupport
Added:
incubator/isis/trunk/core/testsupport/src/main/java/org/
incubator/isis/trunk/core/testsupport/src/main/java/org/apache/
incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/
incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/
incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract.java
incubator/isis/trunk/core/testsupport/src/test/java/org/
incubator/isis/trunk/core/testsupport/src/test/java/org/apache/
incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/
incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/
incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_BigIntegerTest.java
incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_StringIntegerTest.java
Modified:
incubator/isis/trunk/core/testsupport/ (props changed)
Propchange: incubator/isis/trunk/core/testsupport/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 18 15:14:39 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+.settings
Added: incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract.java?rev=1023840&view=auto
==============================================================================
--- incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract.java (added)
+++ incubator/isis/trunk/core/testsupport/src/main/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract.java Mon Oct 18 15:14:39 2010
@@ -0,0 +1,59 @@
+package org.apache.isis.testsupport;
+
+import static org.hamcrest.Matchers.*;
+import static org.junit.Assert.assertThat;
+import static org.junit.matchers.JUnitMatchers.*;
+
+import org.junit.Test;
+
+/**
+ * Contract test for value types ({@link #equals(Object)} and {@link #hashCode()}).
+ */
+public abstract class ValueTypeContractTestAbstract {
+
+ @Test
+ public void symmetric() throws Exception {
+ Object o1 = getObject();
+ assertThat(o1.equals(o1), is(true));
+ }
+
+ @Test
+ public void notEqualToNull() throws Exception {
+ Object o1 = getObject();
+ assertThat(o1.equals(null), is(false));
+ }
+
+ @Test
+ public void reflexiveWhenEqual() throws Exception {
+ Object o1 = getObject();
+ Object o2 = getObjectWithSameValue();
+ assertThat(o1.equals(o2), is(true));
+ assertThat(o2.equals(o1), is(true));
+ }
+
+ @Test
+ public void reflexiveWhenNotEqual() throws Exception {
+ Object o1 = getObject();
+ Object o2 = getObjectWithDifferentValue();
+ assertThat(o1.equals(o2), is(false));
+ assertThat(o2.equals(o1), is(false));
+ }
+
+ @Test
+ public void transitiveWhenEqual() throws Exception {
+ Object o1 = getObject();
+ Object o2 = getObjectWithSameValue();
+ Object o3 = getAnotherObjectWithSameValue();
+ assertThat(o1.equals(o2), is(true));
+ assertThat(o2.equals(o3), is(true));
+
+ assertThat(o1.equals(o3), is(true));
+ }
+
+ protected abstract Object getObject();
+ protected abstract Object getObjectWithSameValue();
+ protected abstract Object getAnotherObjectWithSameValue();
+
+ protected abstract Object getObjectWithDifferentValue();
+
+}
Added: incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_BigIntegerTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_BigIntegerTest.java?rev=1023840&view=auto
==============================================================================
--- incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_BigIntegerTest.java (added)
+++ incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_BigIntegerTest.java Mon Oct 18 15:14:39 2010
@@ -0,0 +1,27 @@
+package org.apache.isis.testsupport;
+
+import java.math.BigInteger;
+
+public class ValueTypeContractTestAbstract_BigIntegerTest extends ValueTypeContractTestAbstract {
+
+ @Override
+ protected Object getObject() {
+ return new BigInteger("1");
+ }
+
+ @Override
+ protected Object getObjectWithSameValue() {
+ return new BigInteger("1");
+ }
+
+ @Override
+ protected Object getAnotherObjectWithSameValue() {
+ return new BigInteger("1");
+ }
+
+ @Override
+ protected Object getObjectWithDifferentValue() {
+ return new BigInteger("2");
+ }
+
+}
Added: incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_StringIntegerTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_StringIntegerTest.java?rev=1023840&view=auto
==============================================================================
--- incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_StringIntegerTest.java (added)
+++ incubator/isis/trunk/core/testsupport/src/test/java/org/apache/isis/testsupport/ValueTypeContractTestAbstract_StringIntegerTest.java Mon Oct 18 15:14:39 2010
@@ -0,0 +1,27 @@
+package org.apache.isis.testsupport;
+
+import java.math.BigInteger;
+
+public class ValueTypeContractTestAbstract_StringIntegerTest extends ValueTypeContractTestAbstract {
+
+ @Override
+ protected Object getObject() {
+ return new String("1");
+ }
+
+ @Override
+ protected Object getObjectWithSameValue() {
+ return new String("1");
+ }
+
+ @Override
+ protected Object getAnotherObjectWithSameValue() {
+ return new String("1");
+ }
+
+ @Override
+ protected Object getObjectWithDifferentValue() {
+ return new String("2");
+ }
+
+}