Move History

Rooted by: Calculator
Fork Selected
  • Description

    eval style

    Code
    calculator=(a,b,_)=>eval(a+_+b)
    Test Cases
    const chai = require("chai");
    const assert = chai.assert;
    chai.config.truncateThreshold = 0;
    
    describe('+', () => {
      for(let i = 0; i < 10; i++) {
        const a = Math.random() * 100, b = Math.random() * 100;
        const exp = a + b;
        it(`${a} + ${b} = ${exp}`, () => {
          assert.deepEqual(calculator(a, b, '+'), exp)
        });
      }
    });
    
    describe('-', () => {
      for(let i = 0; i < 10; i++) {
        const a = Math.random() * 100, b = Math.random() * 100;
        const exp = a - b;
        it(`${a} - ${b} = ${exp}`, () => {
          assert.deepEqual(calculator(a, b, '-'), exp)
        });
      }
    });
    
    describe('*', () => {
      for(let i = 0; i < 10; i++) {
        const a = Math.random() * 100, b = Math.random() * 100;
        const exp = a * b;
        it(`${a} * ${b} = ${exp}`, () => {
          assert.deepEqual(calculator(a, b, '*'), exp)
        });
      }
    });
    
    describe('/', () => {
      for(let i = 0; i < 10; i++) {
        const a = Math.random() * 100, b = Math.random() * 100;
        const exp = a / b;
        it(`${a} / ${b} = ${exp}`, () => {
          assert.deepEqual(calculator(a, b, '/'), exp)
        });
      }
    });
  • Code
    • calculator=(a,b,_)=>_=='+'?a+b:_=='-'?a-b:_=='*'?a*b:_=='/'?a/b:undefined
    • calculator=(a,b,_)=>eval(a+_+b)