https://medium.com/@gregorygaines/a-letter-to-rust-users-dont-test-implementation-details-unit-vs-integration-tests-ab54d6716ca2