UNPKG

deckbuilder

Version:

A deck building and management tool any card based games in the browser or Node.

118 lines (82 loc) 2.72 kB
'use strict' const chai = require('chai'); const Deckbuilder = require('../index'); let deckbuilder; describe('Returning Cards', () => { beforeEach(() => deckbuilder = new Deckbuilder()); afterEach(() => deckbuilder = null); it('should return some drawn cards back to the deck', () => { const cards = [ { id: 1, value: 10 }, { id: 2, value: 20 }, { id: 3, value: 30 }, { id: 4, value: 40 }, { id: 5, value: 50 }, { id: 6, value: 60 }, { id: 7, value: 70 }, { id: 8, value: 80 }, { id: 9, value: 90 }, { id: 10, value: 100 } ]; deckbuilder.add(cards); deckbuilder.draw(8); deckbuilder.returnDrawn([1, 2, 4, 5, 6]); chai.expect(deckbuilder.deck.length).to.equal(7); }); it('should return all drawn cards back to the deck', () => { const cards = [ { id: 1, value: 10 }, { id: 2, value: 20 }, { id: 3, value: 30 }, { id: 4, value: 40 }, { id: 5, value: 50 }, { id: 6, value: 60 }, { id: 7, value: 70 }, { id: 8, value: 80 }, { id: 9, value: 90 }, { id: 10, value: 100 } ]; deckbuilder.add(cards); deckbuilder.draw(8); deckbuilder.returnDrawn(); chai.expect(deckbuilder.deck.length).to.equal(10) && chai.expect(deckbuilder.drawn.length).to.equal(0); }); it('should return some discarded cards back to the deck', () => { const cards = [ { id: 1, value: 10 }, { id: 2, value: 20 }, { id: 3, value: 30 }, { id: 4, value: 40 }, { id: 5, value: 50 }, { id: 6, value: 60 }, { id: 7, value: 70 }, { id: 8, value: 80 }, { id: 9, value: 90 }, { id: 10, value: 100 } ]; deckbuilder.add(cards); deckbuilder.draw(8); deckbuilder.discard([1, 2, 3]); deckbuilder.returnDiscarded([1, 2]); chai.expect(deckbuilder.deck.length).to.equal(4) && chai.expect(deckbuilder.discarded.length).to.equal(1); }); it('should return all discarded cards back to the deck', () => { const cards = [ { id: 1, value: 10 }, { id: 2, value: 20 }, { id: 3, value: 30 }, { id: 4, value: 40 }, { id: 5, value: 50 }, { id: 6, value: 60 }, { id: 7, value: 70 }, { id: 8, value: 80 }, { id: 9, value: 90 }, { id: 10, value: 100 } ]; deckbuilder.add(cards); deckbuilder.draw(8); deckbuilder.discard([1, 2, 3]); deckbuilder.returnDiscarded(); chai.expect(deckbuilder.deck.length).to.equal(5) && chai.expect(deckbuilder.discarded.length).to.equal(0); }); });