summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Clayton <alex.clayton@isode.com>2016-02-26 16:51:13 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-03-09 16:44:17 (GMT)
commit8f112a856705b800d1a8797bec5d9396a9c00b34 (patch)
tree6468ad42172e1d1f68138a26679dbaf85b58e6b9 /test/com/isode/stroke/whiteboard/WhiteboardServerTest.java
parent8fe752626726ca8d058ce437127a37d5d738a5eb (diff)
downloadstroke-8f112a856705b800d1a8797bec5d9396a9c00b34.zip
stroke-8f112a856705b800d1a8797bec5d9396a9c00b34.tar.bz2
Add Whiteboard Functionality
Add the Whiteboard classes to stroke. Test-information: Unit tests all pass. Change-Id: Id409c09d0fc1f82864e5d706c413b9d984a7db82
Diffstat (limited to 'test/com/isode/stroke/whiteboard/WhiteboardServerTest.java')
-rw-r--r--test/com/isode/stroke/whiteboard/WhiteboardServerTest.java146
1 files changed, 146 insertions, 0 deletions
diff --git a/test/com/isode/stroke/whiteboard/WhiteboardServerTest.java b/test/com/isode/stroke/whiteboard/WhiteboardServerTest.java
new file mode 100644
index 0000000..c90d8c3
--- /dev/null
+++ b/test/com/isode/stroke/whiteboard/WhiteboardServerTest.java
@@ -0,0 +1,146 @@
+/* Copyright (c) 2016, Isode Limited, London, England.
+ * All rights reserved.
+ *
+ * Acquisition and use of this software and related materials for any
+ * purpose requires a written license agreement from Isode Limited,
+ * or a written license from an organisation licensed by Isode Limited
+ * to grant such a license.
+ *
+ */
+package com.isode.stroke.whiteboard;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.isode.stroke.elements.WhiteboardDeleteOperation;
+import com.isode.stroke.elements.WhiteboardEllipseElement;
+import com.isode.stroke.elements.WhiteboardInsertOperation;
+import com.isode.stroke.elements.WhiteboardOperation;
+import com.isode.stroke.elements.WhiteboardUpdateOperation;
+
+/**
+ * Tests for {@link WhiteboardServer}
+ */
+public class WhiteboardServerTest {
+
+ @Test
+ public void testSimpleOp() {
+ WhiteboardServer server = new WhiteboardServer();
+ WhiteboardInsertOperation firstOp = new WhiteboardInsertOperation();
+ firstOp.setID("0");
+ server.handleLocalOperationReceived(firstOp);
+ WhiteboardInsertOperation serverOp = new WhiteboardInsertOperation();
+ serverOp.setID("b");
+ serverOp.setParentID("0");
+ serverOp.setPos(1);
+ server.handleLocalOperationReceived(serverOp);
+ WhiteboardInsertOperation clientOp = new WhiteboardInsertOperation();
+ WhiteboardEllipseElement clientElement = new WhiteboardEllipseElement(0,0,0,0);
+ clientOp.setID("a");
+ clientOp.setParentID("0");
+ clientOp.setPos(1);
+ clientOp.setElement(clientElement);
+ WhiteboardOperation resultOp = server.handleClientOperationReceived(clientOp);
+ assertNotNull(resultOp);
+ assertTrue("resultOp is not a WhiteboardInsertOperation",
+ resultOp instanceof WhiteboardInsertOperation);
+ WhiteboardInsertOperation op = (WhiteboardInsertOperation) resultOp;
+ assertEquals("b",op.getParentID());
+ assertEquals("a",op.getID());
+ assertEquals(1,op.getPos());
+ assertEquals(clientElement,op.getElement());
+ }
+
+ @Test
+ public void testSimpleOp1() {
+ WhiteboardServer server = new WhiteboardServer();
+ WhiteboardInsertOperation firstOp = new WhiteboardInsertOperation();
+ firstOp.setID("0");
+ server.handleLocalOperationReceived(firstOp);
+ WhiteboardDeleteOperation serverOp = new WhiteboardDeleteOperation();
+ serverOp.setID("b");
+ serverOp.setParentID("0");
+ serverOp.setPos(1);
+ server.handleLocalOperationReceived(serverOp);
+ WhiteboardUpdateOperation clientOp = new WhiteboardUpdateOperation();
+ WhiteboardEllipseElement clientElement = new WhiteboardEllipseElement(0,0,0,0);
+ clientOp.setID("a");
+ clientOp.setParentID("0");
+ clientOp.setPos(1);
+ clientOp.setElement(clientElement);
+ WhiteboardOperation resultOp = server.handleClientOperationReceived(clientOp);
+ assertNotNull(resultOp);
+ assertTrue("resultOp is not a WhiteboardDeleteOperation",
+ resultOp instanceof WhiteboardDeleteOperation);
+ WhiteboardDeleteOperation op = (WhiteboardDeleteOperation) resultOp;
+ assertEquals("b", op.getParentID());
+ assertEquals("a", op.getID());
+ assertEquals(-1, op.getPos());
+ }
+
+ @Test
+ public void testSimpleOp2() {
+ WhiteboardServer server = new WhiteboardServer();
+ WhiteboardInsertOperation firstOp = new WhiteboardInsertOperation();
+ firstOp.setID("0");
+ server.handleLocalOperationReceived(firstOp);
+ WhiteboardUpdateOperation serverOp = new WhiteboardUpdateOperation();
+ serverOp.setID("b");
+ serverOp.setParentID("0");
+ serverOp.setPos(1);
+ server.handleLocalOperationReceived(serverOp);
+ WhiteboardDeleteOperation clientOp = new WhiteboardDeleteOperation();
+ clientOp.setID("a");
+ clientOp.setParentID("0");
+ clientOp.setPos(1);
+ WhiteboardOperation resultOp = server.handleClientOperationReceived(clientOp);
+ assertNotNull(resultOp);
+ assertTrue("resultOp is not a WhiteboardDeleteOperation",
+ resultOp instanceof WhiteboardDeleteOperation);
+ WhiteboardDeleteOperation op = (WhiteboardDeleteOperation) resultOp;
+ assertEquals("b", op.getParentID());
+ assertEquals("a", op.getID());
+ assertEquals(1, op.getPos());
+ }
+
+ @Test
+ public void testFewSimpleOps() {
+ WhiteboardServer server = new WhiteboardServer();
+ WhiteboardInsertOperation firstOp = new WhiteboardInsertOperation();
+ firstOp.setID("0");
+ server.handleLocalOperationReceived(firstOp);
+ WhiteboardInsertOperation serverOp = new WhiteboardInsertOperation();
+ serverOp.setID("a");
+ serverOp.setParentID("0");
+ serverOp.setPos(1);
+ server.handleLocalOperationReceived(serverOp);
+ serverOp = new WhiteboardInsertOperation();
+ serverOp.setID("b");
+ serverOp.setParentID("a");
+ serverOp.setPos(2);
+ server.handleLocalOperationReceived(serverOp);
+ serverOp = new WhiteboardInsertOperation();
+ serverOp.setID("c");
+ serverOp.setParentID("b");
+ serverOp.setPos(3);
+ server.handleLocalOperationReceived(serverOp);
+ WhiteboardInsertOperation clientOp = new WhiteboardInsertOperation();
+ WhiteboardEllipseElement clientElement = new WhiteboardEllipseElement(0,0,0,0);
+ clientOp.setID("d");
+ clientOp.setParentID("0");
+ clientOp.setPos(1);
+ clientOp.setElement(clientElement);
+ WhiteboardOperation resultOp = server.handleClientOperationReceived(clientOp);
+ assertNotNull(resultOp);
+ assertTrue("resultOp is not a WhiteboardInsertOperation",resultOp instanceof WhiteboardInsertOperation);
+ WhiteboardInsertOperation op = (WhiteboardInsertOperation) resultOp;
+ assertEquals("c", op.getParentID());
+ assertEquals("d", op.getID());
+ assertEquals(1, op.getPos());
+ assertEquals(clientElement, op.getElement());
+ }
+
+}