diff --git a/src/main/java/ceej/gerrit/test/App.java b/src/main/java/ceej/gerrit/test/App.java
new file mode 100644
index 0000000..f18a622
--- /dev/null
+++ b/src/main/java/ceej/gerrit/test/App.java
@@ -0,0 +1,13 @@
+package ceej.gerrit.test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}
diff --git a/src/test/java/ceej/gerrit/test/AppTest.java b/src/test/java/ceej/gerrit/test/AppTest.java
new file mode 100644
index 0000000..5659bf4
--- /dev/null
+++ b/src/test/java/ceej/gerrit/test/AppTest.java
@@ -0,0 +1,38 @@
+package ceej.gerrit.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}
