/* * Adds two entities to sketch and an edge between them * queries both and adds them one at a time to see if the * edge is added between them */ @Test public void testAutoAddEdge() throws QueryException { EntityNode en1 = new EntityNode("C", _sketch); EntityNode en2 = new EntityNode("D", _sketch); _sketch.addEntity(en1, en2); NormalEdge sk = new NormalEdge(en1, en2, "e"); _sketch.addEdge(sk); QueryNode qn1 = new QueryNode("v_C", _view, "Select * from C"); QueryNode qn2 = new QueryNode("v_D", _view, "Select * from D"); _view.addEntity(qn1); assertEquals( "Only one node added so should be no edge", false, _view.getEdges().containsKey("e")); _view.addEntity(qn2); assertEquals( "Both nodes added so should be edge in between them called edge", true, _view.getEdges().containsKey("e")); }
/* * Creates two EntityNodes, an edge between them, queries them both * and then renames everything. */ @Test public void testModelNameChanges() throws QueryException { EntityNode en = new EntityNode("oldK", _sketch); EntityNode en1 = new EntityNode("oldL", _sketch); _sketch.addEntity(en, en1); NormalEdge sk = new NormalEdge(en, en1, "old"); _sketch.addEdge(sk); QueryNode qn = new QueryNode("v_K", _view, "Select * from oldK"); QueryNode qn1 = new QueryNode("v_L", _view, "Select * from oldL"); _view.addEntity(qn, qn1); assertEquals("Edge name in view should be old", true, _view.getEdges().containsKey("old")); sk.setName("new"); en.setName("newK"); en1.setName("newL"); assertEquals("Queried Node in v_K should be newK", "newK", qn.getQueriedEntity().getName()); assertEquals("Queried Node in v_L should be newL", "newL", qn1.getQueriedEntity().getName()); assertEquals( "Edge name in view should have changed to new", true, _view.getEdges().containsKey("new")); }