[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/TunnelNameTest.java b/core/api/src/test/java/org/onosproject/net/tunnel/TunnelNameTest.java
new file mode 100644
index 0000000..87421db
--- /dev/null
+++ b/core/api/src/test/java/org/onosproject/net/tunnel/TunnelNameTest.java
@@ -0,0 +1,48 @@
+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 name class.
+ */
+public class TunnelNameTest {
+    final TunnelName name1 = TunnelName.tunnelName("name1");
+    final TunnelName sameAsName1 = TunnelName.tunnelName("name1");
+    final TunnelName name2 = TunnelName.tunnelName("name2");
+
+    /**
+     * Checks that the TunnelName class is immutable.
+     */
+    @Test
+    public void testImmutability() {
+        assertThatClassIsImmutable(TunnelName.class);
+    }
+
+    /**
+     * Checks the operation of equals(), hashCode() and toString() methods.
+     */
+    @Test
+    public void testEquals() {
+        new EqualsTester().addEqualityGroup(name1, sameAsName1)
+                .addEqualityGroup(name2).testEquals();
+    }
+
+    /**
+     * Checks the construction of a OpenFlowGroupId object.
+     */
+    @Test
+    public void testConstruction() {
+        final String nameValue = "name3";
+        final TunnelName name = TunnelName.tunnelName(nameValue);
+        assertThat(name, is(notNullValue()));
+        assertThat(name.value(), is(nameValue));
+    }
+
+}