如何测试整数减法不是可交换的?

时间:2019-01-14 22:32:39

标签: javascript integer-arithmetic property-based-testing

我想编写一个基于属性的单元测试,以证明整数减法不是可交换的。我有摩卡咖啡和fast-check

const fc = require('fast-check')

describe('The subtraction', () => {
    it('is not commutative', () => {
        fc.assert(
            fc.property(
                fc.integer(), fc.integer(), (a, b) => a - b !== b - a
            )
        )
    })
})

几次运行后,我注意到当条件a === b && a <= 0为真时,它会失败。但是,我不确定是否还有其他不符合a - b !== b - a的条件,因此不确定排除该特定条件是否正确。

如何编写测试?我应该排除特定条件吗?还是应该检查至少两个给定值在a - b !== b - a处是否正确?还是有其他测试方法?

也欢迎使用其他任何类型的javascript库进行基于属性的测试的示例。

0 个答案:

没有答案