Test Array Sum
Create a public class TestArraySum
that provides a single void class method named test
.
test
accepts a single parameter: an instance of ArraySum
.
Each ArraySum
provides a method sum
that accepts an 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 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!