Tests

In programming, having tests for as many corner cases as possible and having healthy level of code coverage is invaluable.

This ensures that code changes do not break existing functionality.

This is known as regression testing.