public void testVertexRemoval() {
TestGraph<LongWritable, LongWritable, NullWritable> graph = createTestGraph();
LocalBlockRunner.runBlock(graph, new Piece<LongWritable, Writable, Writable, NoMessage, Object>() {
@Override
public VertexSender<LongWritable, Writable, Writable> getVertexSender(
final BlockWorkerSendApi<LongWritable, Writable, Writable, NoMessage> workerApi,
Object executionStage) {
return new InnerVertexSender() {
@Override
public void vertexSend(Vertex<LongWritable, Writable, Writable> vertex) {
long id = vertex.getId().get();
if (id == 1 || id == 3) {
workerApi.removeVertexRequest(vertex.getId());
}
}
};
}
}, new Object());
Assert.assertNull(graph.getVertex(new LongWritable(1)));
Assert.assertNotNull(graph.getVertex(new LongWritable(2)));
Assert.assertNull(graph.getVertex(new LongWritable(3)));
Assert.assertNotNull(graph.getVertex(new LongWritable(4)));
}