generator: function() {
   switch (jsv.random(0, 2)) {
     case 0: return 'foo';
     case 1: return 'bar';
     case 2: return 'quux';
   }
 },
Example #2
0
 const generator = jsc.generator.bless(size => {
   const n = jsc.random(1, Math.max(1, size));
   const v = new Array(n);
   for (let i = 0; i < n; ++i)
     v[i] = digits.generator();
   return v.join('');
 });
Example #3
0
 function makeSkipListOps(size) {
   const numOps = jsc.random(0, Math.round(Math.log(size + 1) / Math.log(2)))
   const ops = new Array(numOps), ids = []
   for (let i = 0; i < numOps; i++) {
     if (ids.length === 0 || jsc.random(0, 1) === 0) {
       const index = jsc.random(0, ids.length)
       ops[i] = {
         id: i.toString(),
         insertAfter: (index === ids.length) ? null : ids[index],
         level: jsc.random(1, 7)
       }
       ids.push(i.toString())
     } else {
       const index = jsc.random(0, ids.length - 1)
       ops[i] = {remove: ids[index]}
       ids.splice(index, 1)
     }
   }
   return ops
 }
Example #4
0
    const generator = jsc.generator.bless(size => {
      const n = jsc.random(1, Math.max(1, Math.floor(Math.sqrt(size))));

      const A = new Array(n + 1);
      for (let i = 0; i < n + 1; ++i) {
        const row = A[i] = new Array(n);
        for (let j = 0; j < n; ++j) {
          row[j] = arb.generator(size);
        }
      }
      return [A.slice(0, n), A[n].map(x => [x])];
    });