Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / sal / api / src / test / java / org / opendaylight / controller / sal / core / EdgeTest.java
diff --git a/opendaylight/adsal/sal/api/src/test/java/org/opendaylight/controller/sal/core/EdgeTest.java b/opendaylight/adsal/sal/api/src/test/java/org/opendaylight/controller/sal/core/EdgeTest.java
new file mode 100644 (file)
index 0000000..7c36d09
--- /dev/null
@@ -0,0 +1,186 @@
+
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+/**
+ * @file   EdgeTest.java
+ *
+ * @brief  Unit Tests for Edge element
+ *
+ * Unit Tests for Edge element
+ */
+package org.opendaylight.controller.sal.core;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EdgeTest {
+    @Test
+    public void testEdgeEquals() {
+        try {
+            Node n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            NodeConnector c0 = new NodeConnector(
+                    NodeConnector.NodeConnectorIDType.OPENFLOW, new Short(
+                            (short) 0x4), n0);
+
+            Node n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            NodeConnector c1 = new NodeConnector(
+                    NodeConnector.NodeConnectorIDType.OPENFLOW, new Short(
+                            (short) 0x1), n1);
+
+            Node n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            NodeConnector c2 = new NodeConnector(
+                    NodeConnector.NodeConnectorIDType.OPENFLOW, new Short(
+                            (short) 0x4), n2);
+
+            Node n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            NodeConnector c3 = new NodeConnector(
+                    NodeConnector.NodeConnectorIDType.OPENFLOW, new Short(
+                            (short) 0x1), n3);
+
+            Edge e0 = new Edge(c0, c1);
+            Edge e1 = new Edge(c2, c3);
+            // e0 must be equal to e1 to pass the test
+            Assert.assertTrue(e0.equals(e1));
+        } catch (ConstructionException e) {
+            // Exception is NOT expected if raised test will fail
+            Assert.assertTrue(false);
+        }
+    }
+
+    @Test
+    public void testEdgeDifferents() {
+        Node n0, n1, n2, n3;
+        NodeConnector c0, c1, c2, c3;
+        Edge e0, e1;
+        try {
+            // Difference in the tail node
+            n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c0 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n0);
+
+            n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c1 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n1);
+
+            e0 = new Edge(c0, c1);
+
+            n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c2 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n2);
+
+            n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(111L));
+            c3 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n3);
+
+            e0 = new Edge(c0, c1);
+            e1 = new Edge(c2, c3);
+            // e0 must be different from e1 to pass the test
+            Assert.assertTrue(!e0.equals(e1));
+
+            // Difference in the head node
+            n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c0 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n0);
+
+            n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c1 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n1);
+
+            e0 = new Edge(c0, c1);
+
+            n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(41L));
+            c2 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n2);
+
+            n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c3 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n3);
+
+            e0 = new Edge(c0, c1);
+            e1 = new Edge(c2, c3);
+            // e0 must be different from e1 to pass the test
+            Assert.assertTrue(!e0.equals(e1));
+
+            // Difference in the head nodeconnetor
+            n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c0 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n0);
+
+            n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c1 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n1);
+
+            e0 = new Edge(c0, c1);
+
+            n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c2 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x5), n2);
+
+            n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c3 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n3);
+
+            e0 = new Edge(c0, c1);
+            e1 = new Edge(c2, c3);
+            // e0 must be different from e1 to pass the test
+            Assert.assertTrue(!e0.equals(e1));
+
+            // Difference in the tail nodeconnetor
+            n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c0 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n0);
+
+            n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c1 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n1);
+
+            e0 = new Edge(c0, c1);
+
+            n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c2 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n2);
+
+            n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c3 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x2), n3);
+
+            e0 = new Edge(c0, c1);
+            e1 = new Edge(c2, c3);
+            // e0 must be different from e1 to pass the test
+            Assert.assertTrue(!e0.equals(e1));
+
+            // Difference in the both nodeconnetor/node
+            n0 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c0 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n0);
+
+            n1 = new Node(Node.NodeIDType.OPENFLOW, new Long(110L));
+            c1 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x1), n1);
+
+            e0 = new Edge(c0, c1);
+
+            n2 = new Node(Node.NodeIDType.OPENFLOW, new Long(40L));
+            c2 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x4), n2);
+
+            n3 = new Node(Node.NodeIDType.OPENFLOW, new Long(111L));
+            c3 = new NodeConnector(NodeConnector.NodeConnectorIDType.OPENFLOW,
+                    new Short((short) 0x2), n3);
+
+            e0 = new Edge(c0, c1);
+            e1 = new Edge(c2, c3);
+            // e0 must be different from e1 to pass the test
+            Assert.assertTrue(!e0.equals(e1));
+        } catch (ConstructionException e) {
+            // Exception is NOT expected if raised test will fail
+            Assert.assertTrue(false);
+        }
+    }
+}