Tests that performing toString() over a Range without a root does not crash.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS r.toString() is "PASS"
PASS successfullyParsed is true

TEST COMPLETE

