private static <T> void verifyScenario(Scenario<T> scenario, int level) { scenario.testCompareTo(); scenario.testIsOrdered(); scenario.testMinAndMax(); scenario.testBinarySearch(); scenario.testSortedCopy(); if (level < RECURSE_DEPTH) { for (OrderingMutation alteration : OrderingMutation.values()) { verifyScenario(alteration.mutate(scenario), level + 1); } } }