Test Array Sum
Create a method named test
accepting a single parameter: an instance of ArraySum
.
Each ArraySum
provides a method sum
that accepts an Array<Int>
and returns the sum of the values as an Int
,
or 0 if the array is null
.
However, some ArraySum
implementations are broken!
Your job is to identify all of them correctly.
To do this you should use assert
to test various inputs.
Here's an example:
Your function does not need to return a value. Instead, if the code is correct no assertion should fail, and if it is incorrect one should.
As you design test inputs, here are two conflicting objectives to keep in mind:
- Less is more. The fewer inputs you need to identify all broken cases, the more readable your test suite will be.
- Think defensively. At the same time, you want to anticipate all of the different mistakes that a programmer
might make. You've probably made many of these yourself! Examples include forgetting to check for
null
, off-by-one errors, not handling special cases properly, etc.
Good luck and have fun!