Skip to content

Commit

Permalink
test: add unit tests
Browse files Browse the repository at this point in the history
增加 tsw/util/Queue测试用例
  • Loading branch information
RobinzZH committed May 24, 2018
1 parent a950e91 commit 6ed5da3
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions test/bin/tsw/util/Queue.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
const chai = require('chai');
const expect = chai.expect;
const plug = require('plug');
const Queue = plug('util/Queue');
const logger = plug('logger');

logger.setLogLevel('error');

describe('test Queue', () => {

it('#queue obj(not function)', () => {
let queue = Queue.create();
let val = 1;
expect(queue.queue(val)).to.equal(queue);
});

it('#queue function', () => {
let queue = Queue.create();
let num = 0;
let addOne = () => num++;

queue.queue(addOne);
queue.queue(() => {
expect(num).to.equal(1);
});
queue.dequeue();
});

it('#queue sort', () => {
let queue = Queue.create();
let num = 10,
list = [];
let addOne = () => list.push(num--);

queue.queue(addOne);
queue.queue(() => {
expect(list.join('.')).to.equal('10');
});
queue.queue(addOne);
queue.queue(() => {
expect(list.join('.')).to.equal('10.9');
});
queue.queue(addOne);
queue.queue(() => {
expect(list.join('.')).to.equal('10.9.8');
});
expect(list.join('.')).to.equal('10');

queue.dequeue();
queue.dequeue();
queue.dequeue();
queue.dequeue();
queue.dequeue();
});

it('#dequeue empty', () => {
let queue = Queue.create();
expect(queue.dequeue()).to.equal(queue);
});

it('#dequeue', () => {
let queue = Queue.create();
let num = 10,
list = [];
let addOne = () =>
list.push(num--);

queue.queue(addOne);
queue.queue(addOne);
queue.dequeue();
queue.queue(() => {
expect(list.join('.')).to.equal('10.9');
});

queue.dequeue();
});
});

0 comments on commit 6ed5da3

Please sign in to comment.