    @Test
    public void translatingPreparableWorkResultsInSuccessfulTranslationAndNoFailure() {

        AcknowledgeableWorkBufferTranslator<TestWork> translator =
            new AcknowledgeableWorkBufferTranslator<>(workReducer, TestWork::prepare, failureReference);

        TestWork work = TestWork.create(WorkType.COMMIT, "URL");
        AcknowledgeableTestWork acknowledgeableWork = new AcknowledgeableTestWork(work);

        Translation<List<Acknowledgeable<TestWork>>, Acknowledgeable<TestWork>> translation = translator.apply(Collections.singletonList(acknowledgeableWork));

        assertTrue(translation.hasResult());
        assertEquals(work, translation.getResult().get());
        assertNull(failureReference.get());
        assertFalse(acknowledgeableWork.isAcknowledged());
        assertFalse(acknowledgeableWork.getError().isPresent());
    }