UNPKG

bizzfuzz

Version:

Extendable FizzBuzz Library in Javascript (LOL)

98 lines (75 loc) 3.04 kB
var expect = require('expect.js'), BizzFuzz = require('../lib/bizzfuzz'); describe("Extend BizzFuzz", function() { describe("#add", function() { it("should change the increments for steps", function() { bizzFuzz = new BizzFuzz({ add: 2 }); expect(bizzFuzz.nextAfter(4)).to.equal(6); }); }); describe("#startsAt", function() { it("should change starting number", function() { bizzFuzz = new BizzFuzz({ startsAt: 2 }); expect(bizzFuzz.startingValue()).to.equal("2"); }); }); describe("#endsAt", function() { it("should change ending number", function() { bizzFuzz = new BizzFuzz({ endsAt: 10 }); expect(bizzFuzz.nextAfter(10)).to.equal(-1); }); }); describe("#firstNumber", function() { it("should change firstNumber number", function() { bizzFuzz = new BizzFuzz({ firstNumber: 2 }); expect(bizzFuzz.valueFor(4)).to.equal("Fizz"); }); }); describe("#secondNumber", function() { it("should change secondNumber number", function() { bizzFuzz = new BizzFuzz({ secondNumber: 7 }); expect(bizzFuzz.valueFor(7)).to.equal("Buzz"); }); }); describe("#firstNumberTest", function() { it("should change firstNumberTest value", function() { var firstNumberTestFunc = function(num) { return num === 22 }; bizzFuzz = new BizzFuzz({ firstNumber: 3, secondNumber: 5, firstNumberTest: firstNumberTestFunc }); expect(bizzFuzz.valueFor(3)).to.equal("3"); expect(bizzFuzz.valueFor(22)).to.equal("Fizz"); }); }); describe("#secondNumberTest", function() { it("should change secondNumberTest value", function() { var secondNumberTestFunc = function(num) { return num === 26 }; bizzFuzz = new BizzFuzz({ firstNumber: 3, secondNumber: 5, secondNumberTest: secondNumberTestFunc }); expect(bizzFuzz.valueFor(5)).to.equal("5"); expect(bizzFuzz.valueFor(26)).to.equal("Buzz"); }); }); describe("#firstTestSuccess", function() { it("should change firstTestSuccess value", function() { bizzFuzz = new BizzFuzz({ firstNumber: 3, firstTestSuccess: "Foo" }); expect(bizzFuzz.valueFor(3)).to.equal("Foo"); }); }); describe("#secondTestSuccess", function() { it("should change secondTestSuccess value", function() { bizzFuzz = new BizzFuzz({ secondNumber: 5, secondTestSuccess: "Bar" }); expect(bizzFuzz.valueFor(5)).to.equal("Bar"); }); }); describe("#bothSuccess", function() { it("should change bothSuccess value", function() { bizzFuzz = new BizzFuzz({ firstNumber: 3, secondNumber: 5, bothSuccess: "FooBar" }); expect(bizzFuzz.valueFor(15)).to.equal("FooBar"); }); }); describe("#noSuccess", function() { it("should change noSuccess value", function() { var noSuccessFunc = function(num) { return "Fail" }; bizzFuzz = new BizzFuzz({ firstNumber: 3, secondNumber: 5, noSuccess: noSuccessFunc }); expect(bizzFuzz.valueFor(2)).to.equal("Fail"); }); }); });