https://medium.com/@oluola96/testing-behavior-rather-than-implementation-with-the-pytest-testing-framework-ce9afb6a2247