Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { expect } = require("chai");
- const { createCalculator } = require("./addSubtract");
- const mainFunc = createCalculator();
- describe("addSubtract", () => {
- it("inner sum value is not acsecable outside the mainFunction", () => {
- expect(mainFunc.value).to.be.undefined;
- });
- it("inner function getreturns", () => {
- expect(mainFunc.get()).to.equal(0);
- });
- it("inner function add works with intigers", () => {
- mainFunc.add(1);
- expect(mainFunc.get()).to.equal(1);
- mainFunc.add(1);
- expect(mainFunc.get()).to.equal(2);
- });
- it("inner function subtract works with intigers", () => {
- mainFunc.subtract(1);
- expect(mainFunc.get()).to.equal(1);
- mainFunc.subtract(1);
- expect(mainFunc.get()).to.equal(0);
- });
- it("inner function add works with strings containing numbers", () => {
- mainFunc.add("1");
- expect(mainFunc.get()).to.equal(1);
- mainFunc.add("1");
- expect(mainFunc.get()).to.equal(2);
- });
- it("inner function subtract works with strings containing numbers", () => {
- mainFunc.subtract("1");
- expect(mainFunc.get()).to.equal(1);
- mainFunc.subtract("1");
- expect(mainFunc.get()).to.equal(0);
- });
- it("inner function add works with floating point numbers", () => {
- mainFunc.add(1.1);
- expect(mainFunc.get()).to.equal(1.1);
- });
- it("inner function subtract works with floating point numbers", () => {
- mainFunc.subtract(1.1);
- expect(mainFunc.get()).to.equal(0);
- });
- it("inner function add works with negative numbers", () => {
- mainFunc.add(-1);
- expect(mainFunc.get()).to.equal(-1);
- mainFunc.add(-1);
- expect(mainFunc.get()).to.equal(-2);
- });
- it("inner function subtract works with negative numbers", () => {
- mainFunc.subtract(-2);
- expect(mainFunc.get()).to.equal(0);
- });
- it("inner functions add and subtract return undefined if no argument", () => {
- expect(mainFunc.add()).to.be.undefined;
- expect(mainFunc.subtract()).to.be.undefined;
- });
- it("inner functions add and subtrack return undefined if argument not a number", () => {
- expect(mainFunc.add("a")).to.be.undefined;
- expect(mainFunc.subtract("b")).to.be.undefined;
- });
- it("inner function get return NaN if add and subtract called with no arg or args are not in type", () => {
- mainFunc.add("a");
- mainFunc.subtract();
- expect(mainFunc.get()).to.be.NaN;
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement