From rosettacode.org
Some more unittests
Add one larger test