What are Sealed classes and how are they used.
implementing Record classes and overriding default behaviour
Parameterized tests help you to reduce the amount of testing code you need for test cases that only need different input and or output.
Both methods let you decide what a mocked object returns. thenReturn() returns a fixed value while thenAnswer() lets you use the parameters to determine a return value.