Testing is an important part of software development. Specifically, mocking is a common approach where the
developer implements an interface that “mocks” the behaviour of a concrete implementation. Depending on the
complexity of the mocked objects, there are many ways you can approach this problem.