Move Test cases to corresponding package namespace
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java
new file mode 100644
index 0000000..b03af4e
--- /dev/null
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java
@@ -0,0 +1,128 @@
+package net.onrc.onos.ofcontroller.core.internal;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Iterator;
+import java.util.List;
+
+import net.floodlightcontroller.routing.Link;
+import net.onrc.onos.ofcontroller.core.ILinkStorage;
+import net.onrc.onos.ofcontroller.core.INetMapStorage.DM_OPERATION;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.gremlin.java.GremlinPipeline;
+
+public class LinkStorageImplTest {
+	private static ILinkStorage linkStorage;
+	private static TitanGraph titanGraph;
+	
+	//TODO Future ideas:
+	//Test add links with CREATE and UPDATE
+	//Test adding existing link again
+	
+	@Before
+	public void setUp() throws Exception{
+		titanGraph = TestDatabaseManager.getTestDatabase();
+		TestDatabaseManager.populateTestData(titanGraph);
+		
+		linkStorage = new TestableLinkStorageImpl(titanGraph);
+	}
+	
+	@After
+	public void tearDown() throws Exception {		
+		titanGraph.shutdown();
+	}
+	
+	/*
+	 * Add a link between port 1.102 and 2.104
+	 * i.e SEA switch port 3 to LAX switch port 1
+	 */
+	@Test
+	public void testAddSingleLink(){
+		Link linkToAdd = new Link(Long.decode("0x0000000000000a01"), 3, Long.decode("0x0000000000000a02"), 1);
+		
+		//Use the link storage API to add the link
+		linkStorage.update(linkToAdd, ILinkStorage.DM_OPERATION.INSERT);
+		
+		//Test if it was added correctly with the Gremlin API
+		GremlinPipeline<Vertex, Vertex> pipe = new GremlinPipeline<Vertex, Vertex>();
+		Iterator<Vertex> it = titanGraph.getVertices("dpid", "00:00:00:00:00:00:0a:01").iterator();
+		
+		assertTrue(it.hasNext());
+		Vertex sw1 = it.next();
+		assertFalse(it.hasNext());
+		
+		pipe.start(sw1).out("on").has("number", (short)3).out("link").in("on");
+		
+		assertTrue(pipe.hasNext());
+		Vertex sw2 = pipe.next();
+		assertFalse(pipe.hasNext());
+		
+		//Check we ended up at the right vertex
+		assertEquals((String)sw2.getProperty("dpid"), "00:00:00:00:00:00:0a:02");
+	}
+	
+	//TODO enable once method is written
+	@Ignore @Test
+	public void testGetLinks(){
+		//TODO Make sure this works when the implementation is written
+		List<Link> list = linkStorage.getLinks(Long.decode("0x0000000000000a01"), (short)2);
+		
+		assertEquals(list.size(), 1);
+		
+		Link l = list.get(0);
+		assertEquals(l.getSrc(), 2561L);
+		assertEquals(l.getSrcPort(), (short)2);
+		assertEquals(l.getDst(), 2563L);
+		assertEquals(l.getDstPort(), (short)1);
+	}
+	
+	//TODO enable once method is written
+	@Ignore @Test
+	public void testUpdateDelete(){
+		Link linkToDelete = new Link(Long.decode("0x0000000000000a01"), 2, Long.decode("0x0000000000000a03"), 1);
+		
+		linkStorage.update(linkToDelete, DM_OPERATION.DELETE);
+		
+		//Test if it was deleted correctly with the Gremlin API
+		GremlinPipeline<Vertex, Vertex> pipe = new GremlinPipeline<Vertex, Vertex>();
+		Iterator<Vertex> it = titanGraph.getVertices("dpid", "00:00:00:00:00:00:0a:01").iterator();
+		
+		assertTrue(it.hasNext());
+		Vertex sw1 = it.next();
+		assertFalse(it.hasNext());
+		
+		pipe.start(sw1).out("on").has("number", 2).out("link");
+		
+		assertFalse(pipe.hasNext());
+	}
+	
+	//TODO enable once method is written
+	@Ignore @Test
+	public void testDeleteLinks(){
+		//TODO Make sure this works when the implementation is written
+		
+		linkStorage.deleteLinksOnPort(Long.decode("0x0000000000000a01"), (short)2);
+		
+		//Test if it was deleted correctly with the Gremlin API
+		GremlinPipeline<Vertex, Vertex> pipe = new GremlinPipeline<Vertex, Vertex>();
+		Iterator<Vertex> it = titanGraph.getVertices("dpid", "00:00:00:00:00:00:0a:01").iterator();
+		
+		assertTrue(it.hasNext());
+		Vertex sw1 = it.next();
+		assertFalse(it.hasNext());
+		
+		pipe.start(sw1).out("on").has("number", 2).out("link");
+		
+		assertFalse(pipe.hasNext());
+	}
+	
+}