Added unit tests; including guava-testlib.
diff --git a/net/api/pom.xml b/net/api/pom.xml
index f74d08e..79737d3 100644
--- a/net/api/pom.xml
+++ b/net/api/pom.xml
@@ -16,4 +16,11 @@
<description>ONOS network control API</description>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-testlib</artifactId>
+ </dependency>
+ </dependencies>
+
</project>
diff --git a/net/api/src/main/java/org/onlab/onos/net/DeviceId.java b/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
index 124fa96..6f4cff2 100644
--- a/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
+++ b/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
@@ -7,6 +7,7 @@
*/
public class DeviceId extends ElementId {
+ // TODO: Discuss whether we should just use ElementId for Device and Host alike
/**
* Creates a device id using the supplied URI.
*
diff --git a/net/api/src/test/java/org/onlab/onos/net/DeviceIdTest.java b/net/api/src/test/java/org/onlab/onos/net/DeviceIdTest.java
new file mode 100644
index 0000000..f373678
--- /dev/null
+++ b/net/api/src/test/java/org/onlab/onos/net/DeviceIdTest.java
@@ -0,0 +1,20 @@
+package org.onlab.onos.net;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+/**
+ * Test of the provider identifier.
+ */
+public class DeviceIdTest extends ElementIdTest {
+
+ @Test
+ public void basics() {
+ new EqualsTester()
+ .addEqualityGroup(new DeviceId(uri("of:foo")),
+ new DeviceId(uri("of:foo")))
+ .addEqualityGroup(new DeviceId(uri("of:bar")))
+ .testEquals();
+ }
+
+}
diff --git a/net/api/src/test/java/org/onlab/onos/net/ElementIdTest.java b/net/api/src/test/java/org/onlab/onos/net/ElementIdTest.java
new file mode 100644
index 0000000..4de68dd
--- /dev/null
+++ b/net/api/src/test/java/org/onlab/onos/net/ElementIdTest.java
@@ -0,0 +1,30 @@
+package org.onlab.onos.net;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+import java.net.URI;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Test of the provider identifier.
+ */
+public class ElementIdTest {
+
+ public static URI uri(String str) {
+ return URI.create(str);
+ }
+
+ @Test
+ public void basics() {
+ new EqualsTester()
+ .addEqualityGroup(new ElementId(uri("of:foo")),
+ new ElementId(uri("of:foo")))
+ .addEqualityGroup(new ElementId(uri("of:bar")))
+ .testEquals();
+ assertEquals("wrong uri", uri("ofcfg:foo"),
+ new ElementId(uri("ofcfg:foo")).uri());
+ }
+
+}
diff --git a/net/api/src/test/java/org/onlab/onos/net/provider/AbstractProviderTest.java b/net/api/src/test/java/org/onlab/onos/net/provider/AbstractProviderTest.java
new file mode 100644
index 0000000..745aebc
--- /dev/null
+++ b/net/api/src/test/java/org/onlab/onos/net/provider/AbstractProviderTest.java
@@ -0,0 +1,18 @@
+package org.onlab.onos.net.provider;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Test of the base provider implementation.
+ */
+public class AbstractProviderTest {
+
+ @Test
+ public void basics() {
+ ProviderId id = new ProviderId("foo.bar");
+ TestProvider provider = new TestProvider(id);
+ assertEquals("incorrect id", id, provider.id());
+ }
+}
diff --git a/net/api/src/test/java/org/onlab/onos/net/provider/ProviderIdTest.java b/net/api/src/test/java/org/onlab/onos/net/provider/ProviderIdTest.java
new file mode 100644
index 0000000..1c05507
--- /dev/null
+++ b/net/api/src/test/java/org/onlab/onos/net/provider/ProviderIdTest.java
@@ -0,0 +1,19 @@
+package org.onlab.onos.net.provider;
+
+import com.google.common.testing.EqualsTester;
+import org.junit.Test;
+
+/**
+ * Test of the provider identifier.
+ */
+public class ProviderIdTest {
+
+ @Test
+ public void basics() {
+ new EqualsTester()
+ .addEqualityGroup(new ProviderId("foo"), new ProviderId("foo"))
+ .addEqualityGroup(new ProviderId("bar"))
+ .testEquals();
+ }
+
+}
diff --git a/net/api/src/test/java/org/onlab/onos/net/provider/TestProvider.java b/net/api/src/test/java/org/onlab/onos/net/provider/TestProvider.java
new file mode 100644
index 0000000..785577a
--- /dev/null
+++ b/net/api/src/test/java/org/onlab/onos/net/provider/TestProvider.java
@@ -0,0 +1,17 @@
+package org.onlab.onos.net.provider;
+
+/**
+ * Test provider fixture.
+ */
+public class TestProvider extends AbstractProvider {
+
+ /**
+ * Creates a provider with the supplier identifier.
+ *
+ * @param id provider id
+ */
+ protected TestProvider(ProviderId id) {
+ super(id);
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index 5abbfef..0bfa83b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,14 @@
<version>17.0</version>
</dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-testlib</artifactId>
+ <version>17.0</version>
+ <scope>test</scope>
+ </dependency>
+
+
<!-- Web related -->
<dependency>
<groupId>com.sun.jersey</groupId>