diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTests.java | 2 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/NonCDOResourceTest.java (renamed from plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ResourceTest.java) | 2 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java | 96 |
3 files changed, 98 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTests.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTests.java index 76551ab535..97a9dc6fd0 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTests.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AllTests.java @@ -28,7 +28,7 @@ public class AllTests suite.addTestSuite(EnumTest.class); suite.addTestSuite(StateMachineTest.class); suite.addTestSuite(ViewTest.class); - suite.addTestSuite(ResourceTest.class); + suite.addTestSuite(NonCDOResourceTest.class); suite.addTestSuite(ContainmentTest.class); suite.addTestSuite(InvalidationTest.class); suite.addTestSuite(RollbackTest.class); diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ResourceTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/NonCDOResourceTest.java index f63638a920..c9500823c5 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ResourceTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/NonCDOResourceTest.java @@ -25,7 +25,7 @@ import junit.framework.TestCase; * @author Simon McDuff * @author Eike Stepper */ -public class ResourceTest extends TestCase +public class NonCDOResourceTest extends TestCase { public void testNonCDOResource() throws Exception { diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java index 54b8d6415c..dfad32f98e 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/ViewTest.java @@ -15,7 +15,15 @@ import org.eclipse.emf.cdo.CDOTransaction; import org.eclipse.emf.cdo.CDOView; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.protocol.id.CDOID; +import org.eclipse.emf.cdo.protocol.model.resource.CDOContentsFeature; +import org.eclipse.emf.cdo.protocol.model.resource.CDOResourcePackage; +import org.eclipse.emf.cdo.protocol.revision.CDOReferenceProxy; +import org.eclipse.emf.cdo.protocol.revision.CDORevisionData; +import org.eclipse.emf.cdo.tests.model1.Company; +import org.eclipse.emf.cdo.tests.model1.Model1Factory; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; @@ -60,6 +68,94 @@ public class ViewTest extends AbstractCDOTest session.close(); } + public void testUniqueResourceContents() throws Exception + { + { + CDOSession session = openModel1Session(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/test1"); + EList<EObject> contents = resource.getContents(); + for (int i = 0; i < 100; i++) + { + Company company = Model1Factory.eINSTANCE.createCompany(); + company.setName("Company " + i); + contents.add(company); + } + + transaction.commit(); + session.close(); + } + + CDOSession session = openModel1Session(); + session.setReferenceChunkSize(2); + + CDOTransaction transaction = session.openTransaction(); + transaction.setUniqueResourceContents(true); + + CDOResource resource = transaction.getResource("/test1"); + EList<EObject> contents = resource.getContents(); + for (int i = 100; i < 110; i++) + { + Company company = Model1Factory.eINSTANCE.createCompany(); + company.setName("Company " + i); + contents.add(company); + } + + CDORevisionData revision = resource.cdoRevision().getData(); + CDOResourcePackage resourcePackage = session.getPackageManager().getCDOResourcePackage(); + CDOContentsFeature contentsFeature = resourcePackage.getCDOResourceClass().getCDOContentsFeature(); + assertEquals(false, revision.get(contentsFeature, 0) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 1) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 2) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 99) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 100) instanceof CDOReferenceProxy); + session.close(); + } + + public void testNonUniqueResourceContents() throws Exception + { + { + CDOSession session = openModel1Session(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/test1"); + EList<EObject> contents = resource.getContents(); + for (int i = 0; i < 100; i++) + { + Company company = Model1Factory.eINSTANCE.createCompany(); + company.setName("Company " + i); + contents.add(company); + } + + transaction.commit(); + session.close(); + } + + CDOSession session = openModel1Session(); + session.setReferenceChunkSize(2); + + CDOTransaction transaction = session.openTransaction(); + transaction.setUniqueResourceContents(false); + + CDOResource resource = transaction.getResource("/test1"); + EList<EObject> contents = resource.getContents(); + for (int i = 100; i < 110; i++) + { + Company company = Model1Factory.eINSTANCE.createCompany(); + company.setName("Company " + i); + contents.add(company); + } + + CDORevisionData revision = resource.cdoRevision().getData(); + CDOResourcePackage resourcePackage = session.getPackageManager().getCDOResourcePackage(); + CDOContentsFeature contentsFeature = resourcePackage.getCDOResourceClass().getCDOContentsFeature(); + assertEquals(false, revision.get(contentsFeature, 0) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 1) instanceof CDOReferenceProxy); + assertEquals(true, revision.get(contentsFeature, 2) instanceof CDOReferenceProxy); + assertEquals(true, revision.get(contentsFeature, 99) instanceof CDOReferenceProxy); + assertEquals(false, revision.get(contentsFeature, 100) instanceof CDOReferenceProxy); + session.close(); + } + public void testExternalResourceSet() throws Exception { { |