@Override protected void handleAssumptionViolation(AssumptionViolatedException e) { super.handleAssumptionViolation(e); for (GuesserQueue queue : queues) { queue.update(e); } }
@Override protected void runWithIncompleteAssignment(Assignments incomplete) throws Throwable { GuesserQueue guessers = createGuesserQueue(incomplete); queues.add(guessers); while (!guessers.isEmpty()) { runWithAssignment(incomplete.assignNext(guessers.remove(0))); } queues.remove(guessers); }
private GuesserQueue createGuesserQueue(Assignments incomplete) throws Exception { ParameterSignature nextUnassigned = incomplete.nextUnassigned(); if (nextUnassigned.hasAnnotation(Stub.class)) { GuesserQueue queue = new GuesserQueue(); queue.add(new Guesser<Object>((Class<?>) nextUnassigned.getType())); return queue; } return GuesserQueue.forSingleValues(incomplete.potentialsForNextUnassigned()); }