Skip to content

Instantly share code, notes, and snippets.

@mlevkovsky
Last active February 25, 2020 01:07
Show Gist options
  • Save mlevkovsky/0db1b6d6578bf30b27f611c4f9c8ee23 to your computer and use it in GitHub Desktop.
Save mlevkovsky/0db1b6d6578bf30b27f611c4f9c8ee23 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 {
return 0;
}
}
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);
});
// ❌will fail since the method isn't implemented
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('something bad happened');
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment