I've changed the tests to check for the correct number. I'd prefer to leave the sign tests because it may be a bit more explicit if those fail (rather than under the scope of 'returns the right number'.

If you disagree I'm not wedded to it.