Make random consistent: never output the top of the bound
lume.random(1) can sometimes return 1, but lume.random() and lume.random(0,1) will never return 1. (And the converse for zero: they should all be able to produce 0.) Change the single argument version to conform to the same range regardless of inputs. Update the documentation to make the output range explicit using language similar to math.random.
Add a test that had two failures on the old code for the single argument version:
FAIL test.lua:110: testeq(postcond.expected.count > 0, true) Expected "true" got "false" FAIL test.lua:111: testeq(postcond.unexpected.count, 0) Expected 0.00 got 3.00
All tests pass.
Updated to change my test because it was failing on lua5.4. Now I'm no longer expecting any specific values from random since the rng doesn't produce the same sequence it did back on lua 5.1 (or whatever I was using).
Also added a commit to fix lume.trace test on Windows.