describe('odd', function() { it('returns true for all odd numbers', function() { expect(function(n) { return odd(n) === true; }).forAll(oddNumbers); }); it('returns false for all even numbers', function() { expect(function(n) { return odd(n) === false; }).forAll(evenNumbers); }); }); function evenNumbers(size) { var num = qc.int(size); return num + num; } function oddNumbers(size) { return evenNumbers(size) + 1; } function odd(n) { return n % 2 === 1; }