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");
+	}
+
+}