clojure (1) functional-programming (2) generative-testing (1) good-practices (8) hamcrest (1) haskell (1) immutability (2) inheritance (1) java (7) junit (4) language-agnostic (1) mocking (1) mockito (1) mutability (2) mutation-testing (1) test-coverage (1) unit-test (4) unit-testing-learning-series (5)