private DependencyGraph createDependencyGraph() {
final DependencyGraph graph = new DependencyGraph("Default");
final ValueProperties properties = ValueProperties.with(ValuePropertyNames.FUNCTION, "Mock").get();
final ComputationTarget t1 = new ComputationTarget(ComputationTargetType.PORTFOLIO_NODE, new SimplePortfolioNode(UniqueId.of("Node", "0"), "node"));
final DependencyNode n1 = new DependencyNode(t1.toSpecification());
n1.setFunction(new MockFunction("F1", t1));
n1.addOutputValue(new ValueSpecification("Foo", t1.toSpecification(), properties));
n1.addTerminalOutputValue(new ValueSpecification("Foo", t1.toSpecification(), properties));
graph.addDependencyNode(n1);
final ComputationTarget t2 = new ComputationTarget(ComputationTargetType.POSITION, new SimplePosition(UniqueId.of("Pos", "0"), BigDecimal.ONE, ExternalId.of("Security", "Foo")));
final DependencyNode n2 = new DependencyNode(t2.toSpecification());
n2.setFunction(new MockFunction("F2", t1));
n2.addOutputValue(new ValueSpecification("Foo", t2.toSpecification(), properties));
n1.addInputValue(new ValueSpecification("Foo", t2.toSpecification(), properties));
n1.addInputNode(n2);
graph.addDependencyNode(n2);
final ComputationTarget t3 = new ComputationTarget(ComputationTargetType.SECURITY, createSecurity(UniqueId.of("Pos", "0"), ExternalId.of("Security", "Foo")));
final DependencyNode n3 = new DependencyNode(t3.toSpecification());
n3.setFunction(new MockFunction("F3", t1));
n3.addOutputValue(new ValueSpecification("Foo", t3.toSpecification(), properties));
n2.addInputValue(new ValueSpecification("Foo", t3.toSpecification(), properties));
n2.addInputNode(n3);
graph.addDependencyNode(n3);
graph.addTerminalOutput(new ValueRequirement("Foo", t1.toSpecification()), new ValueSpecification("Foo", t1.toSpecification(), properties));
return graph;