]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest3.java
Added missing org.simantics.db.{tests,testing} plug-ins.
[simantics/platform.git] / tests / org.simantics.db.tests / src / org / simantics / db / tests / client / RefreshTest3.java
diff --git a/tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest3.java b/tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest3.java
new file mode 100644 (file)
index 0000000..bcfcd06
--- /dev/null
@@ -0,0 +1,68 @@
+package org.simantics.db.tests.client;
+
+import org.junit.Test;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.testing.base.TestCommonNoVirtual;
+import org.simantics.db.testing.common.Client;
+import org.simantics.db.testing.common.ClientFactory;
+import org.simantics.db.tests.common.ClientOperations;
+import org.simantics.db.tests.common.Configuration;
+
+public class RefreshTest3 extends TestCommonNoVirtual {
+    private static final int COUNT = Configuration.get().refreshLoopCount;
+    
+    @Test
+    public void testRefresh3() throws DatabaseException {
+        if (noVirtual())
+            return;
+        for (int i=0; i<COUNT; ++i) {
+            refreshTestRemove();
+        }
+    }
+    void refreshTestRemove() throws DatabaseException {
+//        ServerAddress serverAddress = getSessionContext().getAddress();
+        Client client1 = ClientFactory.create(getRandomString());
+        Client client2 = ClientFactory.create(getRandomString());
+        try {
+            int size = 3;
+            String name1 = ClientOperations.createOrderedSet(client1, size);
+            ClientOperations.validateOrderedSet(client1, name1, size);
+            ClientOperations.validateOrderedSet(client2, name1, size);
+
+            ClientOperations.removeElement(client1, name1,--size);
+            ClientOperations.validateOrderedSet(client1, name1, size);
+            ClientOperations.validateOrderedSet(client2, name1, size);
+            
+            ClientOperations.removeElement(client2, name1,--size);
+            ClientOperations.validateOrderedSet(client2, name1, size);
+            ClientOperations.validateOrderedSet(client1, name1, size);
+            
+            ClientOperations.removeElement(client1, name1,--size);
+            ClientOperations.validateOrderedSet(client1, name1, size);
+            ClientOperations.validateOrderedSet(client2, name1, size);
+
+            size = 3;
+            String name2 = ClientOperations.createOrderedSet(client2, size);
+            ClientOperations.validateOrderedSet(client2, name2, size);
+            ClientOperations.validateOrderedSet(client1, name2, size);
+            
+            ClientOperations.removeElement(client1, name2,--size);
+            ClientOperations.validateOrderedSet(client1, name2, size);
+            ClientOperations.validateOrderedSet(client2, name2, size);
+            
+            ClientOperations.removeElement(client2, name2,--size);
+            ClientOperations.validateOrderedSet(client2, name2, size);
+            ClientOperations.validateOrderedSet(client1, name2, size);
+            
+            ClientOperations.removeElement(client1, name2,--size);
+            ClientOperations.validateOrderedSet(client1, name2, size);
+            ClientOperations.validateOrderedSet(client2, name2, size);
+            
+        } finally {
+            if (null != client1)
+                client1.close();
+            if (null != client2)
+                client2.close();
+        }
+    }
+}