import { tuple } from 'fast-check' import { Arbitrary } from 'fast-check/lib/types/check/arbitrary/definition/Arbitrary' import { Comparator } from '../../comparator' type Gen = (constraints: { min?: N; }) => Arbitrary export const getQuotientArb = (gen: Gen, zero: N, comparator: Comparator) => { const arb = gen({ min: zero }) return tuple(arb, arb).map(nums => { const [numerator, denominator] = nums.sort(comparator) return { numerator, denominator } }) }