diff --git a/TODO.md b/TODO.md index 7b283bd..5813842 100644 --- a/TODO.md +++ b/TODO.md @@ -12,4 +12,4 @@ - [x] equalsの一般化 - [ ] timesの一般化 - [x] FrancとDollarの比較 -- [ ] 通貨の概念 +- [x] 通貨の概念 diff --git a/src/__tests__/money.test.ts b/src/__tests__/money.test.ts index 7c4131b..b775c64 100644 --- a/src/__tests__/money.test.ts +++ b/src/__tests__/money.test.ts @@ -3,21 +3,24 @@ import { Money, Dollar, Franc } from '../money'; test('equals', () => { - expect(new Franc(5).equals(new Franc(5))).toBeTruthy(); - expect(new Franc(5).equals(new Franc(6))).toBeFalsy(); - expect(new Dollar(5).equals(new Dollar(5))).toBeTruthy(); - expect(new Dollar(5).equals(new Dollar(6))).toBeFalsy(); + expect(Money.franc(5).equals(Money.franc(5))).toBeTruthy(); + expect(Money.franc(5).equals(Money.franc(6))).toBeFalsy(); + expect(Money.dollar(5).equals(Money.dollar(5))).toBeTruthy(); + expect(Money.dollar(5).equals(Money.dollar(6))).toBeFalsy(); }); test('null equals', () => { - const francFive = new Franc(5); + const francFive = Money.franc(5); expect(francFive.equals(null)).toBeFalsy(); - const dollarFive = new Dollar(6); + const dollarFive = Money.dollar(6); expect(dollarFive.equals(null)).toBeFalsy(); }); test('equals Franc = Dollar', () => { + expect(Money.franc(5).equals(Money.dollar(5))).toBeTruthy(); + expect(Money.franc(5).equals(Money.dollar(6))).toBeFalsy(); +}); test('currency', () => { expect(Money.dollar(1).currency).toBe('USD');