UNPKG

@comparison-sorting/specification

Version:
3 lines (2 loc) 1.58 kB
var r=require("@array-like/copy"),e=require("@comparison-sorting/is-sorted"),t=require("@randomized/random"),i=require("@iterable-iterator/sorted"),a=require("@iterable-iterator/range"),n=require("@iterable-iterator/consume"),o=require("@iterable-iterator/list"),c=require("@iterable-iterator/map"),u=require("@iterable-iterator/chain"),s=require("@set-theory/cartesian-product"),l=require("@functional-abstraction/functools"),y=require("@total-order/primitive"),d=function(r,e){return y.increasing(r,e)},f=function(r){return i.sorted(d,r)},p=function(r,i,n,o,c,u){var s=f(a.range(c)),l=o.from(s);t.shuffle(l,0,c),n(u,l,0,c),r.is(c,l.length,"check length"),r.is(void 0,l[-1],"check left boundary"),r.is(void 0,l[c],"check right boundary"),r.true(e.isSorted(u,l,0,c),"check sorted"),r.deepEqual(s,f(l),"check data")};p.title=function(r,e,t,i,a,n){return null!=r?r:e+" (new "+i.name+"("+a+"), "+n.name+")"};var h={compare:[d,function(r,e){return y.decreasing(r,e)}],length:[0,1,2,10,63,64,65],array:[Array,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array]},m=function(r){return c.map(function(r){return[r]},void 0===r[Symbol.iterator]?[r]:r)};exports.mock=function(e,t,i,a){var n=Array.prototype.slice.call(t,i,a);n.sort(e),r.copy(n,0,a-i,t,i)},exports.test=function(r,e,t){t=Object.assign({},h,t),n.exhaust(c.map(function(e){l.star(function(e,t,i,a,n){n.BYTES_PER_ELEMENT&&a>Math.pow(2,8*n.BYTES_PER_ELEMENT)||r(p,e,t,n,a,i)},o.list(u._chain(e)))},s.product([e,m(t.compare),m(t.length),m(t.array)],1)))}; //# sourceMappingURL=index.cjs.map