Provide interfaces to participants.
Write a cash register implementation. Begin by writing a test that asserts the cash register prints something to the printer. Do not use a mocking framework like mockito.
Assert that the printer prints exactly a test string you provide in the test.
Replace your hand crafted mocks and stubs with a mocking framework.