Skip to content

Instantly share code, notes, and snippets.

@mlevkovsky
Last active February 25, 2020 01:08
Show Gist options
  • Save mlevkovsky/44f5f647be17c6ff4eee8c9b832f8a81 to your computer and use it in GitHub Desktop.
Save mlevkovsky/44f5f647be17c6ff4eee8c9b832f8a81 to your computer and use it in GitHub Desktop.
export class Calculator {
public add(firstAddend: number, secondAddend: number): number {
return firstAddend + secondAddend;
}
public subtract(minuend: number, subtrahend: number): number {
return minuend - subtrahend;
}
public multiply(firstFactor: number, secondFactor: number): number {
return firstFactor * secondFactor;
}
public divide(dividend: number, divisor: number): number {
if (divisor === 0) {
throw Error("cannot divide by zero")
}
return dividend/divisor;
}
}
describe('Calculator', () => {
it('sums up two numbers properly', () => {
calculator = new Calculator();
expect(calculator.add(2,2)).to.equal(4);
});
it('subtracts two numbers properly', () => {
calculator = new Calculator();
expect(calculator.subtract(4,2)).to.equal(2);
expect(calculator.subtract(10,3)).to.equal(7);
expect(calculator.subtract(-4,2)).to.equal(-6);
expect(calculator.subtract(-4,-2)).to.equal(-2);
});
it('multiplies two numbers properly', () => {
calculator = new Calculator();
expect(calculator.subtract(2,2)).to.equal(4);
});
// ✅ test pass, feature is developed properly
it('divides two numbers properly', () => {
calculator = new Calculator();
expect(calculator.divide(2,2)).to.equal(1);
expect(calculator.divide(10,2)).to.equal(5);
expect(calculator.divide(7,2)).to.equal(3.5);
try{
calculator.divide(7,0);
} catch (e) {
expect(e.toString()).to.equal("cannot divide by zero");
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment