cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From skolbac...@apache.org
Subject cayenne git commit: rename some integration tests
Date Fri, 22 Jan 2016 13:23:45 GMT
Repository: cayenne
Updated Branches:
  refs/heads/master b19de9836 -> aeb0a91a3


rename some integration tests


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/aeb0a91a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/aeb0a91a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/aeb0a91a

Branch: refs/heads/master
Commit: aeb0a91a3e868470b5290b02fea19f0383e34a7a
Parents: b19de98
Author: Savva Kolbachev <s.kolbachev@gmail.com>
Authored: Fri Jan 22 16:20:29 2016 +0300
Committer: Savva Kolbachev <s.kolbachev@gmail.com>
Committed: Fri Jan 22 16:20:29 2016 +0300

----------------------------------------------------------------------
 .../CayenneDataObjectSetToManyCollectionIT.java |  79 +++++
 ...ayenneDataObjectSetToManyCollectionTest.java |  79 -----
 .../CayenneDataObjectSetToManyListIT.java       | 301 +++++++++++++++++++
 .../CayenneDataObjectSetToManyListTest.java     | 301 -------------------
 .../CayenneDataObjectSetToManyMapIT.java        |  96 ++++++
 .../CayenneDataObjectSetToManyMapTest.java      |  96 ------
 .../CayenneDataObjectSetToManySetIT.java        |  71 +++++
 .../CayenneDataObjectSetToManySetTest.java      |  71 -----
 8 files changed, 547 insertions(+), 547 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
new file mode 100644
index 0000000..a2a74ab
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
@@ -0,0 +1,79 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(CayenneProjects.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
+public class CayenneDataObjectSetToManyCollectionIT extends ServerCase {
+
+	@Inject
+	private ObjectContext context;
+
+	@Inject
+	private DBHelper dbHelper;
+
+	@Before
+	public void setUp() throws Exception {
+		TableHelper tCollectionToMany = new TableHelper(dbHelper, "COLLECTION_TO_MANY");
+		tCollectionToMany.setColumns("ID");
+
+		TableHelper tCollectionToManyTarget = new TableHelper(dbHelper, "COLLECTION_TO_MANY_TARGET");
+		tCollectionToManyTarget.setColumns("ID", "COLLECTION_TO_MANY_ID");
+
+		// single data set for all tests
+		tCollectionToMany.insert(1).insert(2);
+		tCollectionToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
+	}
+
+	@Test
+	public void testReadToMany() throws Exception {
+
+		CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
+
+		Collection<?> targets = o1.getTargets();
+
+		assertNotNull(targets);
+		assertTrue(((ValueHolder) targets).isFault());
+
+		assertEquals(3, targets.size());
+
+		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
1)));
+		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
2)));
+		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
3)));
+	}
+
+	/**
+	 * Testing if collection type is Collection, everything should work fine without an
+	 * runtimexception
+	 * 
+	 * @throws Exception
+	 */
+	@Test
+	public void testRelationCollectionTypeCollection() throws Exception {
+		CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
+		assertTrue(o1.readProperty(CollectionToMany.TARGETS_PROPERTY) instanceof Collection);
+		boolean catchedSomething = false;
+		try {
+			o1.setToManyTarget(CollectionToMany.TARGETS_PROPERTY, new ArrayList<CollectionToMany>(0),
true);
+		} catch (RuntimeException e) {
+			catchedSomething = true;
+		}
+		assertEquals(catchedSomething, false);
+		assertEquals(o1.getTargets().size(), 0);
+	}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionTest.java
deleted file mode 100644
index 10c4bf8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.apache.cayenne;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
-import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Before;
-import org.junit.Test;
-
-@UseServerRuntime(CayenneProjects.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyCollectionTest extends ServerCase {
-
-	@Inject
-	private ObjectContext context;
-
-	@Inject
-	private DBHelper dbHelper;
-
-	@Before
-	public void setUp() throws Exception {
-		TableHelper tCollectionToMany = new TableHelper(dbHelper, "COLLECTION_TO_MANY");
-		tCollectionToMany.setColumns("ID");
-
-		TableHelper tCollectionToManyTarget = new TableHelper(dbHelper, "COLLECTION_TO_MANY_TARGET");
-		tCollectionToManyTarget.setColumns("ID", "COLLECTION_TO_MANY_ID");
-
-		// single data set for all tests
-		tCollectionToMany.insert(1).insert(2);
-		tCollectionToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
-	}
-
-	@Test
-	public void testReadToMany() throws Exception {
-
-		CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
-
-		Collection<?> targets = o1.getTargets();
-
-		assertNotNull(targets);
-		assertTrue(((ValueHolder) targets).isFault());
-
-		assertEquals(3, targets.size());
-
-		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
1)));
-		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
2)));
-		assertTrue(targets.contains(Cayenne.objectForPK(o1.getObjectContext(), CollectionToManyTarget.class,
3)));
-	}
-
-	/**
-	 * Testing if collection type is Collection, everything should work fine without an
-	 * runtimexception
-	 * 
-	 * @throws Exception
-	 */
-	@Test
-	public void testRelationCollectionTypeCollection() throws Exception {
-		CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
-		assertTrue(o1.readProperty(CollectionToMany.TARGETS_PROPERTY) instanceof Collection);
-		boolean catchedSomething = false;
-		try {
-			o1.setToManyTarget(CollectionToMany.TARGETS_PROPERTY, new ArrayList<CollectionToMany>(0),
true);
-		} catch (RuntimeException e) {
-			catchedSomething = true;
-		}
-		assertEquals(catchedSomething, false);
-		assertEquals(o1.getTargets().size(), 0);
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
new file mode 100644
index 0000000..9ca609b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
@@ -0,0 +1,301 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+
+package org.apache.cayenne;
+
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.ObjectSelect;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.testmap.Artist;
+import org.apache.cayenne.testdo.testmap.Painting;
+import org.apache.cayenne.testdo.testmap.ROPainting;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
+public class CayenneDataObjectSetToManyListIT extends ServerCase {
+
+	@Inject
+	private ServerRuntime runtime;
+
+	@Inject
+	private ObjectContext context;
+
+	@Inject
+	private DBHelper dbHelper;
+
+	protected TableHelper tArtist;
+	protected TableHelper tPainting;
+
+	@Before
+	public void setUp() throws Exception {
+		tArtist = new TableHelper(dbHelper, "ARTIST");
+		tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
+
+		tPainting = new TableHelper(dbHelper, "PAINTING");
+		tPainting.setColumns("PAINTING_ID", "PAINTING_TITLE", "ARTIST_ID").setColumnTypes(Types.INTEGER,
Types.VARCHAR,
+				Types.BIGINT);
+
+	}
+
+	private void createArtistWithPaintingDataSet() throws Exception {
+		tArtist.insert(8, "artist 8");
+		tPainting.insert(6, "painting 6", 8);
+		tPainting.insert(7, "painting 7", 8);
+		tPainting.insert(8, "painting 8", 8);
+	}
+
+	@Test
+	public void testReadRO1() throws Exception {
+
+		createArtistWithPaintingDataSet();
+
+		Artist a1 = Cayenne.objectForPK(context, Artist.class, 8);
+
+		assertEquals(a1 != null, true);
+
+		List<ROPainting> paints = ObjectSelect.query(ROPainting.class).where(ROPainting.TO_ARTIST.eq(a1))
+				.select(context);
+
+		assertEquals(3, paints.size());
+
+		ROPainting rop1 = paints.get(0);
+		assertSame(a1, rop1.getToArtist());
+	}
+
+	@Test
+	public void testSetEmptyList1() throws Exception {
+		createArtistWithPaintingDataSet();
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), new ArrayList<ROPainting>(0),
true);
+		List<Painting> paints = artist.getPaintingArray();
+		assertEquals(0, paints.size());
+	}
+
+	@Test
+	public void testSetEmptyList2() throws Exception {
+		createArtistWithPaintingDataSet();
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		boolean thrown = false;
+		try {
+			artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), null, true);
+		} catch (IllegalArgumentException e) {
+			thrown = true;
+		}
+		assertEquals("should throw a IllegalArgumentException", thrown, true);
+	}
+
+	@Test
+	public void testWrongRelName() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		boolean thrown = false;
+		try {
+			artist.setToManyTarget("doesnotexist", new ArrayList<ROPainting>(0), true);
+		} catch (IllegalArgumentException e) {
+			thrown = true;
+		}
+		assertEquals("should throw a IllegalArgumentException, because the relName does not exist",
thrown, true);
+
+		thrown = false;
+		try {
+			artist.setToManyTarget("", new ArrayList<ROPainting>(0), true);
+		} catch (IllegalArgumentException e) {
+			thrown = true;
+		}
+		assertEquals("should throw a IllegalArgumentException, because the relName is an empty
string", thrown, true);
+
+		thrown = false;
+		try {
+			artist.setToManyTarget(null, new ArrayList<ROPainting>(0), true);
+		} catch (IllegalArgumentException e) {
+			thrown = true;
+		}
+		assertEquals("should throw a IllegalArgumentException, because the relName is NULL", thrown,
true);
+
+	}
+
+	@Test
+	public void testTotalDifferentPaintings() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+
+		// copy the paintings list. Replacing paintings wont change the copy
+		List<Painting> oldPaints = new ArrayList<Painting>(artist.getPaintingArray());
+		System.out.println("class:" + oldPaints.getClass());
+
+		Painting paintX = new Painting();
+		paintX.setPaintingTitle("pantingX");
+		Painting paintY = new Painting();
+		paintY.setPaintingTitle("paintingY");
+		Painting paintZ = new Painting();
+		paintZ.setPaintingTitle("paintingZ");
+
+		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
+				Arrays.asList(paintX, paintY, paintZ), true);
+
+		assertEquals(returnList.size(), 3);
+		assertEquals(returnList.containsAll(oldPaints), true);
+
+		List<Painting> newPaints = artist.getPaintingArray();
+
+		assertEquals(newPaints.size(), 3);
+		for (Painting oldPaint : oldPaints) {
+			// no element of oldPaints should exist in the newPaints
+			assertEquals(newPaints.contains(oldPaint), false);
+		}
+	}
+
+	@Test
+	public void testSamePaintings() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		List<Painting> oldPaints = new ArrayList<Painting>(artist.getPaintingArray());
+
+		Painting paint6 = Cayenne.objectForPK(context, Painting.class, 6);
+		Painting paint7 = Cayenne.objectForPK(context, Painting.class, 7);
+		Painting paint8 = Cayenne.objectForPK(context, Painting.class, 8);
+
+		List<Painting> newPaints = Arrays.asList(paint6, paint7, paint8);
+		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
newPaints,
+				true);
+
+		assertEquals(returnList.size(), 0);
+
+		newPaints = artist.getPaintingArray();
+		// testing if oldPaints and newPaints contain the same objects
+		assertEquals(newPaints.size(), 3);
+		assertEquals(oldPaints.size(), 3);
+		assertEquals(newPaints.containsAll(oldPaints), true);
+	}
+
+	@Test
+	public void testOldPlusNewPaintings() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		List<Painting> oldPaints = artist.getPaintingArray();
+
+		List<Painting> newPaints = new ArrayList<Painting>(6);
+		for (int i = 0; i < oldPaints.size(); i++) {
+			newPaints.add(oldPaints.get(i));
+		}
+
+		Painting paintX = new Painting();
+		paintX.setPaintingTitle("pantingX");
+		Painting paintY = new Painting();
+		paintY.setPaintingTitle("paintingY");
+		Painting paintZ = new Painting();
+		paintZ.setPaintingTitle("paintingZ");
+
+		newPaints.add(paintX);
+		newPaints.add(paintY);
+		newPaints.add(paintZ);
+
+		artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), newPaints, true);
+
+		List<Painting> newPaints2 = artist.getPaintingArray();
+		Painting paint6 = Cayenne.objectForPK(context, Painting.class, 6);
+		Painting paint7 = Cayenne.objectForPK(context, Painting.class, 7);
+		Painting paint8 = Cayenne.objectForPK(context, Painting.class, 8);
+
+		assertEquals(newPaints2.size(), 6);
+		assertEquals(newPaints2.contains(paintX), true);
+		assertEquals(newPaints2.contains(paintY), true);
+		assertEquals(newPaints2.contains(paintZ), true);
+		assertEquals(newPaints2.contains(paint6), true);
+		assertEquals(newPaints2.contains(paint7), true);
+		assertEquals(newPaints2.contains(paint8), true);
+	}
+
+	@Test
+	public void testRemoveOneOldAndAddOneNewPaintings() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+
+		List<Painting> newPaints = new ArrayList<Painting>();
+
+		Painting paint6 = artist.getPaintingArray().get(0);
+		Painting paint7 = artist.getPaintingArray().get(1);
+		Painting paint8 = artist.getPaintingArray().get(2);
+		Painting paintX = new Painting();
+		paintX.setPaintingTitle("pantingX");
+		Painting paintY = new Painting();
+		paintY.setPaintingTitle("paintingY");
+
+		newPaints.add(paint6);
+		newPaints.add(paint7);
+		newPaints.add(paintX);
+		newPaints.add(paintY);
+
+		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
newPaints,
+				true);
+
+		assertEquals(returnList.size(), 1);
+		assertEquals(returnList.get(0) == paint8, true);
+
+		List<Painting> newPaints2 = artist.getPaintingArray();
+
+		assertEquals(newPaints2.size(), 4);
+		assertEquals(newPaints2.contains(paintX), true);
+		assertEquals(newPaints2.contains(paintY), true);
+		assertEquals(newPaints2.contains(paint6), true);
+		assertEquals(newPaints2.contains(paint7), true);
+	}
+
+	/**
+	 * Testing if collection type is list, everything should work fine without an
+	 * runtimexception
+	 * 
+	 * @throws Exception
+	 */
+	@Test
+	public void testRelationCollectionTypeList() throws Exception {
+		createArtistWithPaintingDataSet();
+
+		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
+		assertTrue(artist.readProperty(Artist.PAINTING_ARRAY.getName()) instanceof List);
+		boolean catchedSomething = false;
+		try {
+			artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), new ArrayList<Painting>(0),
true);
+		} catch (UnsupportedOperationException e) {
+			catchedSomething = true;
+		}
+		assertEquals(catchedSomething, false);
+		assertEquals(artist.getPaintingArray().size(), 0);
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListTest.java
deleted file mode 100644
index 169278b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListTest.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.query.ObjectSelect;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.testdo.testmap.ROPainting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Before;
-import org.junit.Test;
-
-@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectSetToManyListTest extends ServerCase {
-
-	@Inject
-	private ServerRuntime runtime;
-
-	@Inject
-	private ObjectContext context;
-
-	@Inject
-	private DBHelper dbHelper;
-
-	protected TableHelper tArtist;
-	protected TableHelper tPainting;
-
-	@Before
-	public void setUp() throws Exception {
-		tArtist = new TableHelper(dbHelper, "ARTIST");
-		tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
-
-		tPainting = new TableHelper(dbHelper, "PAINTING");
-		tPainting.setColumns("PAINTING_ID", "PAINTING_TITLE", "ARTIST_ID").setColumnTypes(Types.INTEGER,
Types.VARCHAR,
-				Types.BIGINT);
-
-	}
-
-	private void createArtistWithPaintingDataSet() throws Exception {
-		tArtist.insert(8, "artist 8");
-		tPainting.insert(6, "painting 6", 8);
-		tPainting.insert(7, "painting 7", 8);
-		tPainting.insert(8, "painting 8", 8);
-	}
-
-	@Test
-	public void testReadRO1() throws Exception {
-
-		createArtistWithPaintingDataSet();
-
-		Artist a1 = Cayenne.objectForPK(context, Artist.class, 8);
-
-		assertEquals(a1 != null, true);
-
-		List<ROPainting> paints = ObjectSelect.query(ROPainting.class).where(ROPainting.TO_ARTIST.eq(a1))
-				.select(context);
-
-		assertEquals(3, paints.size());
-
-		ROPainting rop1 = paints.get(0);
-		assertSame(a1, rop1.getToArtist());
-	}
-
-	@Test
-	public void testSetEmptyList1() throws Exception {
-		createArtistWithPaintingDataSet();
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), new ArrayList<ROPainting>(0),
true);
-		List<Painting> paints = artist.getPaintingArray();
-		assertEquals(0, paints.size());
-	}
-
-	@Test
-	public void testSetEmptyList2() throws Exception {
-		createArtistWithPaintingDataSet();
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		boolean thrown = false;
-		try {
-			artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), null, true);
-		} catch (IllegalArgumentException e) {
-			thrown = true;
-		}
-		assertEquals("should throw a IllegalArgumentException", thrown, true);
-	}
-
-	@Test
-	public void testWrongRelName() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		boolean thrown = false;
-		try {
-			artist.setToManyTarget("doesnotexist", new ArrayList<ROPainting>(0), true);
-		} catch (IllegalArgumentException e) {
-			thrown = true;
-		}
-		assertEquals("should throw a IllegalArgumentException, because the relName does not exist",
thrown, true);
-
-		thrown = false;
-		try {
-			artist.setToManyTarget("", new ArrayList<ROPainting>(0), true);
-		} catch (IllegalArgumentException e) {
-			thrown = true;
-		}
-		assertEquals("should throw a IllegalArgumentException, because the relName is an empty
string", thrown, true);
-
-		thrown = false;
-		try {
-			artist.setToManyTarget(null, new ArrayList<ROPainting>(0), true);
-		} catch (IllegalArgumentException e) {
-			thrown = true;
-		}
-		assertEquals("should throw a IllegalArgumentException, because the relName is NULL", thrown,
true);
-
-	}
-
-	@Test
-	public void testTotalDifferentPaintings() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-
-		// copy the paintings list. Replacing paintings wont change the copy
-		List<Painting> oldPaints = new ArrayList<Painting>(artist.getPaintingArray());
-		System.out.println("class:" + oldPaints.getClass());
-
-		Painting paintX = new Painting();
-		paintX.setPaintingTitle("pantingX");
-		Painting paintY = new Painting();
-		paintY.setPaintingTitle("paintingY");
-		Painting paintZ = new Painting();
-		paintZ.setPaintingTitle("paintingZ");
-
-		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
-				Arrays.asList(paintX, paintY, paintZ), true);
-
-		assertEquals(returnList.size(), 3);
-		assertEquals(returnList.containsAll(oldPaints), true);
-
-		List<Painting> newPaints = artist.getPaintingArray();
-
-		assertEquals(newPaints.size(), 3);
-		for (Painting oldPaint : oldPaints) {
-			// no element of oldPaints should exist in the newPaints
-			assertEquals(newPaints.contains(oldPaint), false);
-		}
-	}
-
-	@Test
-	public void testSamePaintings() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		List<Painting> oldPaints = new ArrayList<Painting>(artist.getPaintingArray());
-
-		Painting paint6 = Cayenne.objectForPK(context, Painting.class, 6);
-		Painting paint7 = Cayenne.objectForPK(context, Painting.class, 7);
-		Painting paint8 = Cayenne.objectForPK(context, Painting.class, 8);
-
-		List<Painting> newPaints = Arrays.asList(paint6, paint7, paint8);
-		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
newPaints,
-				true);
-
-		assertEquals(returnList.size(), 0);
-
-		newPaints = artist.getPaintingArray();
-		// testing if oldPaints and newPaints contain the same objects
-		assertEquals(newPaints.size(), 3);
-		assertEquals(oldPaints.size(), 3);
-		assertEquals(newPaints.containsAll(oldPaints), true);
-	}
-
-	@Test
-	public void testOldPlusNewPaintings() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		List<Painting> oldPaints = artist.getPaintingArray();
-
-		List<Painting> newPaints = new ArrayList<Painting>(6);
-		for (int i = 0; i < oldPaints.size(); i++) {
-			newPaints.add(oldPaints.get(i));
-		}
-
-		Painting paintX = new Painting();
-		paintX.setPaintingTitle("pantingX");
-		Painting paintY = new Painting();
-		paintY.setPaintingTitle("paintingY");
-		Painting paintZ = new Painting();
-		paintZ.setPaintingTitle("paintingZ");
-
-		newPaints.add(paintX);
-		newPaints.add(paintY);
-		newPaints.add(paintZ);
-
-		artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), newPaints, true);
-
-		List<Painting> newPaints2 = artist.getPaintingArray();
-		Painting paint6 = Cayenne.objectForPK(context, Painting.class, 6);
-		Painting paint7 = Cayenne.objectForPK(context, Painting.class, 7);
-		Painting paint8 = Cayenne.objectForPK(context, Painting.class, 8);
-
-		assertEquals(newPaints2.size(), 6);
-		assertEquals(newPaints2.contains(paintX), true);
-		assertEquals(newPaints2.contains(paintY), true);
-		assertEquals(newPaints2.contains(paintZ), true);
-		assertEquals(newPaints2.contains(paint6), true);
-		assertEquals(newPaints2.contains(paint7), true);
-		assertEquals(newPaints2.contains(paint8), true);
-	}
-
-	@Test
-	public void testRemoveOneOldAndAddOneNewPaintings() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-
-		List<Painting> newPaints = new ArrayList<Painting>();
-
-		Painting paint6 = artist.getPaintingArray().get(0);
-		Painting paint7 = artist.getPaintingArray().get(1);
-		Painting paint8 = artist.getPaintingArray().get(2);
-		Painting paintX = new Painting();
-		paintX.setPaintingTitle("pantingX");
-		Painting paintY = new Painting();
-		paintY.setPaintingTitle("paintingY");
-
-		newPaints.add(paint6);
-		newPaints.add(paint7);
-		newPaints.add(paintX);
-		newPaints.add(paintY);
-
-		List<? extends DataObject> returnList = artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(),
newPaints,
-				true);
-
-		assertEquals(returnList.size(), 1);
-		assertEquals(returnList.get(0) == paint8, true);
-
-		List<Painting> newPaints2 = artist.getPaintingArray();
-
-		assertEquals(newPaints2.size(), 4);
-		assertEquals(newPaints2.contains(paintX), true);
-		assertEquals(newPaints2.contains(paintY), true);
-		assertEquals(newPaints2.contains(paint6), true);
-		assertEquals(newPaints2.contains(paint7), true);
-	}
-
-	/**
-	 * Testing if collection type is list, everything should work fine without an
-	 * runtimexception
-	 * 
-	 * @throws Exception
-	 */
-	@Test
-	public void testRelationCollectionTypeList() throws Exception {
-		createArtistWithPaintingDataSet();
-
-		Artist artist = Cayenne.objectForPK(context, Artist.class, 8);
-		assertTrue(artist.readProperty(Artist.PAINTING_ARRAY.getName()) instanceof List);
-		boolean catchedSomething = false;
-		try {
-			artist.setToManyTarget(Artist.PAINTING_ARRAY.getName(), new ArrayList<Painting>(0),
true);
-		} catch (UnsupportedOperationException e) {
-			catchedSomething = true;
-		}
-		assertEquals(catchedSomething, false);
-		assertEquals(artist.getPaintingArray().size(), 0);
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
new file mode 100644
index 0000000..427fd8c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
@@ -0,0 +1,96 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+
+package org.apache.cayenne;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.map_to_many.MapToMany;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(CayenneProjects.MAP_TO_MANY_PROJECT)
+public class CayenneDataObjectSetToManyMapIT extends ServerCase {
+
+	 @Inject
+	    protected ObjectContext context;
+
+	    @Inject
+	    protected DBHelper dbHelper;
+
+	    protected TableHelper tMapToMany;
+	    protected TableHelper tMapToManyTarget;
+	    protected TableHelper tIdMapToMany;
+	    protected TableHelper tIdMapToManyTarget;
+
+	    @Before
+	    public void setUp() throws Exception {
+	        tMapToMany = new TableHelper(dbHelper, "MAP_TO_MANY");
+	        tMapToMany.setColumns("ID");
+
+	        tMapToManyTarget = new TableHelper(dbHelper, "MAP_TO_MANY_TARGET");
+	        tMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID", "NAME");
+
+	        tIdMapToMany = new TableHelper(dbHelper, "ID_MAP_TO_MANY");
+	        tIdMapToMany.setColumns("ID");
+
+	        tIdMapToManyTarget = new TableHelper(dbHelper, "ID_MAP_TO_MANY_TARGET");
+	        tIdMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID");
+	    }
+
+
+	    protected void createTestDataSet() throws Exception {
+	        tMapToMany.insert(1);
+	        tMapToMany.insert(2);
+	        tMapToManyTarget.insert(1, 1, "A");
+	        tMapToManyTarget.insert(2, 1, "B");
+	        tMapToManyTarget.insert(3, 1, "C");
+	        tMapToManyTarget.insert(4, 2, "A");
+	    }
+	
+	/**
+	 * Testing if collection type is map, everything should work fine without an runtimexception
+	 * @throws Exception
+	 */
+	@Test
+	public void testRelationCollectionTypeMap() throws Exception {
+		createTestDataSet();
+		
+		 MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
+		 assertTrue (o1.readProperty(MapToMany.TARGETS_PROPERTY) instanceof Map);
+		 boolean catchedSomething = false;
+		 try {
+			 o1.setToManyTarget(MapToMany.TARGETS_PROPERTY, new ArrayList<MapToMany>(0), true);
+		 } catch(RuntimeException e) {
+			 catchedSomething = true;
+		 }
+		 assertEquals(catchedSomething,false);
+		 assertEquals(o1.getTargets().size(),0);
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapTest.java
deleted file mode 100644
index 45a1d7e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.map_to_many.MapToMany;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Before;
-import org.junit.Test;
-
-@UseServerRuntime(CayenneProjects.MAP_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyMapTest extends ServerCase {
-
-	 @Inject
-	    protected ObjectContext context;
-
-	    @Inject
-	    protected DBHelper dbHelper;
-
-	    protected TableHelper tMapToMany;
-	    protected TableHelper tMapToManyTarget;
-	    protected TableHelper tIdMapToMany;
-	    protected TableHelper tIdMapToManyTarget;
-
-	    @Before
-	    public void setUp() throws Exception {
-	        tMapToMany = new TableHelper(dbHelper, "MAP_TO_MANY");
-	        tMapToMany.setColumns("ID");
-
-	        tMapToManyTarget = new TableHelper(dbHelper, "MAP_TO_MANY_TARGET");
-	        tMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID", "NAME");
-
-	        tIdMapToMany = new TableHelper(dbHelper, "ID_MAP_TO_MANY");
-	        tIdMapToMany.setColumns("ID");
-
-	        tIdMapToManyTarget = new TableHelper(dbHelper, "ID_MAP_TO_MANY_TARGET");
-	        tIdMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID");
-	    }
-
-
-	    protected void createTestDataSet() throws Exception {
-	        tMapToMany.insert(1);
-	        tMapToMany.insert(2);
-	        tMapToManyTarget.insert(1, 1, "A");
-	        tMapToManyTarget.insert(2, 1, "B");
-	        tMapToManyTarget.insert(3, 1, "C");
-	        tMapToManyTarget.insert(4, 2, "A");
-	    }
-	
-	/**
-	 * Testing if collection type is map, everything should work fine without an runtimexception
-	 * @throws Exception
-	 */
-	@Test
-	public void testRelationCollectionTypeMap() throws Exception {
-		createTestDataSet();
-		
-		 MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
-		 assertTrue (o1.readProperty(MapToMany.TARGETS_PROPERTY) instanceof Map);
-		 boolean catchedSomething = false;
-		 try {
-			 o1.setToManyTarget(MapToMany.TARGETS_PROPERTY, new ArrayList<MapToMany>(0), true);
-		 } catch(RuntimeException e) {
-			 catchedSomething = true;
-		 }
-		 assertEquals(catchedSomething,false);
-		 assertEquals(o1.getTargets().size(),0);
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
new file mode 100644
index 0000000..42dfd33
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
@@ -0,0 +1,71 @@
+package org.apache.cayenne;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.Set;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.map_to_many.MapToMany;
+import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Before;
+import org.junit.Test;
+
+@UseServerRuntime(CayenneProjects.RELATIONSHIPS_SET_TO_MANY_PROJECT)
+public class CayenneDataObjectSetToManySetIT extends ServerCase {
+
+	@Inject
+	protected ObjectContext context;
+
+	@Inject
+	protected DBHelper dbHelper;
+
+	protected TableHelper tSetToMany;
+	protected TableHelper tSetToManyTarget;
+
+	@Before
+	public void setUp() throws Exception {
+		tSetToMany = new TableHelper(dbHelper, "SET_TO_MANY");
+		tSetToMany.setColumns("ID");
+
+		tSetToManyTarget = new TableHelper(dbHelper, "SET_TO_MANY_TARGET");
+		tSetToManyTarget.setColumns("ID", "SET_TO_MANY_ID");
+	}
+
+	protected void createTestDataSet() throws Exception {
+		tSetToMany.insert(1);
+		tSetToMany.insert(2);
+		tSetToManyTarget.insert(1, 1);
+		tSetToManyTarget.insert(2, 1);
+		tSetToManyTarget.insert(3, 1);
+		tSetToManyTarget.insert(4, 2);
+	}
+
+	/**
+	 * Testing if collection type is set, everything should work fine without an
+	 * runtimexception
+	 * 
+	 * @throws Exception
+	 */
+	@Test
+	public void testRelationCollectionTypeMap() throws Exception {
+		createTestDataSet();
+
+		SetToMany o1 = Cayenne.objectForPK(context, SetToMany.class, 1);
+		assertTrue(o1.readProperty(SetToMany.TARGETS_PROPERTY) instanceof Set);
+		boolean catchedSomething = false;
+		try {
+			o1.setToManyTarget(SetToMany.TARGETS_PROPERTY, new ArrayList<MapToMany>(0), true);
+		} catch (RuntimeException e) {
+			catchedSomething = true;
+		}
+		assertEquals(catchedSomething, false);
+		assertEquals(o1.getTargets().size(), 0);
+	}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/aeb0a91a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetTest.java
deleted file mode 100644
index 944c128..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.apache.cayenne;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Set;
-
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.map_to_many.MapToMany;
-import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Before;
-import org.junit.Test;
-
-@UseServerRuntime(CayenneProjects.RELATIONSHIPS_SET_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManySetTest extends ServerCase {
-
-	@Inject
-	protected ObjectContext context;
-
-	@Inject
-	protected DBHelper dbHelper;
-
-	protected TableHelper tSetToMany;
-	protected TableHelper tSetToManyTarget;
-
-	@Before
-	public void setUp() throws Exception {
-		tSetToMany = new TableHelper(dbHelper, "SET_TO_MANY");
-		tSetToMany.setColumns("ID");
-
-		tSetToManyTarget = new TableHelper(dbHelper, "SET_TO_MANY_TARGET");
-		tSetToManyTarget.setColumns("ID", "SET_TO_MANY_ID");
-	}
-
-	protected void createTestDataSet() throws Exception {
-		tSetToMany.insert(1);
-		tSetToMany.insert(2);
-		tSetToManyTarget.insert(1, 1);
-		tSetToManyTarget.insert(2, 1);
-		tSetToManyTarget.insert(3, 1);
-		tSetToManyTarget.insert(4, 2);
-	}
-
-	/**
-	 * Testing if collection type is set, everything should work fine without an
-	 * runtimexception
-	 * 
-	 * @throws Exception
-	 */
-	@Test
-	public void testRelationCollectionTypeMap() throws Exception {
-		createTestDataSet();
-
-		SetToMany o1 = Cayenne.objectForPK(context, SetToMany.class, 1);
-		assertTrue(o1.readProperty(SetToMany.TARGETS_PROPERTY) instanceof Set);
-		boolean catchedSomething = false;
-		try {
-			o1.setToManyTarget(SetToMany.TARGETS_PROPERTY, new ArrayList<MapToMany>(0), true);
-		} catch (RuntimeException e) {
-			catchedSomething = true;
-		}
-		assertEquals(catchedSomething, false);
-		assertEquals(o1.getTargets().size(), 0);
-	}
-}


Mime
View raw message