@Test
  public void testBatchAddValidState() {
    // Add two more TestDummyNodes and related Edges to the existing graph. This is valid.
    final TestDummyNode testNode1 = new TestDummyNode();
    final TestDummyNode testNode2 = new TestDummyNode();
    final BpmnEdge testEdge1 = new BpmnEdgeImpl(new DefaultRoleImpl("general_edge"));
    final BpmnEdge testEdge2 = new BpmnEdgeImpl(new DefaultRoleImpl("general_edge"));
    final AddGraphNodeCommand testCmd1 = new AddGraphNodeCommand(process, testNode1);
    final AddGraphNodeCommand testCmd2 = new AddGraphNodeCommand(process, testNode2);
    final AddEdgeCommand testCmd3 = new AddEdgeCommand(node2, testNode1, testEdge1);
    final AddEdgeCommand testCmd4 = new AddEdgeCommand(testNode1, testNode2, testEdge2);
    final Results results1 =
        commandManager.execute(
            ruleManager, new BatchCommand(testCmd1, testCmd2, testCmd3, testCmd4));

    assertNotNull(results1);
    assertEquals(0, results1.getMessages().size());

    assertEquals(5, process.size());
    assertProcessContainsNodes(process, testNode1, testNode2);
    assertEquals(2, node2.getOutEdges().size());
    assertNodeContainsOutgoingEdges(node2, e2, testEdge1);

    assertEquals(1, testNode1.getInEdges().size());
    assertNodeContainsIncomingEdges(testNode1, testEdge1);
    assertEquals(1, testNode1.getOutEdges().size());
    assertNodeContainsOutgoingEdges(testNode1, testEdge2);

    assertEquals(1, testNode2.getInEdges().size());
    assertNodeContainsIncomingEdges(testNode2, testEdge2);
  }