diff --git a/net/core/src/test/java/org/onlab/onos/net/impl/GreetManagerTest.java b/net/core/src/test/java/org/onlab/onos/net/impl/GreetManagerTest.java
new file mode 100644
index 0000000..9c05f20
--- /dev/null
+++ b/net/core/src/test/java/org/onlab/onos/net/impl/GreetManagerTest.java
@@ -0,0 +1,31 @@
+package org.onlab.onos.net.impl;
+
+import org.junit.Test;
+import org.onlab.onos.net.GreetService;
+
+import java.util.Iterator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+/**
+ * Example of a component &amp; service implementation unit test.
+ */
+public class GreetManagerTest {
+
+    @Test
+    public void basics() {
+        GreetService service = new GreetManager();
+        assertEquals("incorrect greeting", "Whazup dude?", service.yo("dude"));
+
+        Iterator<String> names = service.names().iterator();
+        assertEquals("incorrect name", "dude", names.next());
+        assertFalse("no more names expected", names.hasNext());
+    }
+
+    @Test(expected = NullPointerException.class)
+    public void nullArg() {
+        new GreetManager().yo(null);
+    }
+
+}
