UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

43 lines (37 loc) 1.14 kB
module.exports = (assert, Rafa) => { suite("shift", () => { test("length is 0", () => { assert.isUndefined(Rafa.buffer(1).shift()); }); test("length is 1 start is 0", () => { var buffer = Rafa.buffer(3); buffer.push(1); assert.equal(buffer.shift(), 1); assert.equal(buffer.start, 0); assert.equal(buffer.length, 0); assert.isNull(buffer.buffer[0]); }); test("length is 2 start is 0", () => { var buffer = Rafa.buffer(3); buffer.push(1); buffer.push(2); assert.equal(buffer.shift(), 1); assert.equal(buffer.start, 1); assert.equal(buffer.length, 1); assert.isNull(buffer.buffer[0]); assert.equal(buffer.head(), 2); assert.equal(buffer.tail(), 2); }); test("start is upper bound", () => { var buffer = Rafa.buffer(2); buffer.push(1); buffer.push(2); assert.equal(buffer.shift(), 1); assert.equal(buffer.start, 1); assert.equal(buffer.length, 1); assert.equal(buffer.shift(), 2); assert.equal(buffer.start, 1); assert.equal(buffer.length, 0); }); }); };