[ONOS-700][ONOS-1801]refactor tunnel subsystem api.
1.use more abstract and more flexible entity[TunnelPoint] to represent
for source or destination point of tunnel,instead of Label
2.suport for muti-producer
3.use Order entity to record tunnel-order relationship
4.modify Tunnel entity to add more properties.
5.rename Label and LabelId to OpticalTunnelPoint and OpticalLogicId in
order to keep code style consistently,at the same time
OpticalTunnelPoint implements TunnelPoint
6.add junit test

Change-Id: I371afcef5501e468a43758c5982e7a93b443b114
diff --git a/core/api/src/test/java/org/onosproject/net/tunnel/TunnelIdTest.java b/core/api/src/test/java/org/onosproject/net/tunnel/TunnelIdTest.java
new file mode 100644
index 0000000..aeba1e6
--- /dev/null
+++ b/core/api/src/test/java/org/onosproject/net/tunnel/TunnelIdTest.java
@@ -0,0 +1,50 @@
+package org.onosproject.net.tunnel;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable;
+
+import org.junit.Test;
+
+import com.google.common.testing.EqualsTester;
+
+/**
+ * Unit tests for tunnel id class.
+ */
+public class TunnelIdTest {
+
+    final TunnelId tunnelId1 = TunnelId.valueOf(1);
+    final TunnelId sameAstunnelId1 = TunnelId.valueOf(1);
+    final TunnelId tunnelId2 = TunnelId.valueOf(2);
+
+    /**
+     * Checks that the TunnelId class is immutable.
+     */
+    @Test
+    public void testImmutability() {
+        assertThatClassIsImmutable(TunnelId.class);
+    }
+
+    /**
+     * Checks the operation of equals(), hashCode() and toString() methods.
+     */
+    @Test
+    public void testEquals() {
+        new EqualsTester()
+                .addEqualityGroup(tunnelId1, sameAstunnelId1)
+                .addEqualityGroup(tunnelId2)
+                .testEquals();
+    }
+
+    /**
+     * Checks the construction of a FlowId object.
+     */
+    @Test
+    public void testConstruction() {
+        final long tunnelIdValue = 7777L;
+        final TunnelId tunnelId = TunnelId.valueOf(tunnelIdValue);
+        assertThat(tunnelId, is(notNullValue()));
+        assertThat(tunnelId.id(), is(tunnelIdValue));
+    }
+}