controller.setValueFor("lastName", "Gastaldi");
Assert.assertFalse(controller.canMoveToNextStep());
Assert.assertTrue(controller.canExecute());
Result result = controller.execute();
Assert.assertThat(result, instanceOf(CompositeResult.class));
CompositeResult compositeResult = (CompositeResult) result;
List<Result> results = compositeResult.getResults();
Assert.assertEquals(2, results.size());
Assert.assertThat(results.get(0), not(instanceOf(CompositeResult.class)));
Assert.assertEquals("Anything", results.get(0).getMessage());
Assert.assertThat(results.get(1), instanceOf(CompositeResult.class));
CompositeResult nestedResult = (CompositeResult) results.get(1);
Assert.assertEquals("Hello, George", nestedResult.getResults().get(0).getMessage());
Assert.assertEquals("Goodbye, Gastaldi", nestedResult.getResults().get(1).getMessage());
}
}