public CasesBuilder<I, O> withAssertions(final Consumer<TestOutcome<I, O>> testOutcomeConsumer) {
            Objects.requireNonNull(testOutcomeConsumer);
            final Consumer<TestOutcome<I, O>> wrappedConsumer = wrapTestOutcomeConsumer(testOutcomeConsumer);
            return new CasesBuilder<>(testAction, wrappedConsumer);
        }
Define the assertions to run for this test.
If the {@link TestCase} includes an expected {@link Throwable} type then any exceptions will
be intercepted and asserted automatically. The consumer will not be called if an exception is
expected.

@param testOutcomeConsumer A consumer of a {@link TestOutcome} that should run assertions
                           using the expected and actual outputs available in the {@link TestOutcome}.
stroom-test-common/src/main/java/stroom/test/common/DynamicTestBuilder.java