From 6fd859516f83420f0e54e81decd01dd0b9f8d9eb Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 21 Apr 2015 13:22:41 +0000
Subject: [PATCH] SSDM-1678: more assign-samples-to-experiment tests

SVN: 33891
---
 ...tAssignmentSampleToExperimentTestCase.java | 65 +++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/AbstractAssignmentSampleToExperimentTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/AbstractAssignmentSampleToExperimentTestCase.java
index 6bb816e001d..e61761c8e71 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/AbstractAssignmentSampleToExperimentTestCase.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/AbstractAssignmentSampleToExperimentTestCase.java
@@ -240,6 +240,71 @@ public abstract class AbstractAssignmentSampleToExperimentTestCase extends BaseT
         assertUnmodified(g);
     }
     
+    @Test
+    public void assignSampleWithExperimentWithDataSetWithComponentFromAnotherExperimentToExperiment()
+    {
+        EntityGraphGenerator g = parseAndCreateGraph("E1, samples: S1, data sets: DS1\n"
+                + "E2, data sets: DS2\n"
+                + "E3\n"
+                + "S1, data sets: DS1\n"
+                + "DS1, components: DS2");
+        
+        reassignSampleToExperiment(g.s(1), g.e(3));
+        
+        assertEquals("E2, data sets: DS2\n"
+                + "E3, samples: S1, data sets: DS1\n"
+                + "S1, data sets: DS1\n"
+                + "DS1, components: DS2\n", renderGraph(g));
+        assertModified(g.e(1), g.e(3));
+        assertModified(g.s(1));
+        assertModified(g.ds(1));
+        assertUnmodified(g);
+    }
+    
+    @Test
+    public void assignSampleWithExperimentWithDataSetWithContainerFromAnotherSampleButSameExperimentToExperiment()
+    {
+        EntityGraphGenerator g = parseAndCreateGraph("E1, samples: S1 S2, data sets: DS1 DS2\n"
+                + "E2\n"
+                + "S1, data sets: DS1\n"
+                + "S2, data sets: DS2\n"
+                + "DS1, components: DS2");
+        
+        reassignSampleToExperiment(g.s(2), g.e(2));
+        
+        assertEquals("E1, samples: S1, data sets: DS1\n"
+                + "E2, samples: S2, data sets: DS2\n"
+                + "S1, data sets: DS1\n"
+                + "S2, data sets: DS2\n"
+                + "DS1, components: DS2\n", renderGraph(g));
+        assertModified(g.e(1), g.e(2));
+        assertModified(g.s(2));
+        assertModified(g.ds(2));
+        assertUnmodified(g);
+    }
+    
+    @Test
+    public void assignSampleWithExperimentWithDataSetWithComponentFromAnotherSampleButSameExperimentToExperiment()
+    {
+        EntityGraphGenerator g = parseAndCreateGraph("E1, samples: S1 S2, data sets: DS1 DS2\n"
+                + "E2\n"
+                + "S1, data sets: DS1\n"
+                + "S2, data sets: DS2\n"
+                + "DS1, components: DS2");
+        
+        reassignSampleToExperiment(g.s(1), g.e(2));
+        
+        assertEquals("E1, samples: S2, data sets: DS2\n"
+                + "E2, samples: S1, data sets: DS1\n"
+                + "S1, data sets: DS1\n"
+                + "S2, data sets: DS2\n"
+                + "DS1, components: DS2\n", renderGraph(g));
+        assertModified(g.e(1), g.e(2));
+        assertModified(g.s(1));
+        assertModified(g.ds(1));
+        assertUnmodified(g);
+    }
+    
     @Test
     public void assignScreeningPlateToExperiment()
     {
-- 
GitLab