Functional Weave
Code in TypeScript

money.add@1.0.0

vectors.json

666 bytes · view raw

[
  { "name": "adds pence", "args": [{ "minor": 1999, "currency": "GBP" }, { "minor": 1, "currency": "GBP" }], "expect": { "minor": 2000, "currency": "GBP" } },
  { "name": "adds zero", "args": [{ "minor": 2500, "currency": "GBP" }, { "minor": 0, "currency": "GBP" }], "expect": { "minor": 2500, "currency": "GBP" } },
  { "name": "adds a negative (a credit)", "args": [{ "minor": 2500, "currency": "GBP" }, { "minor": -1000, "currency": "GBP" }], "expect": { "minor": 1500, "currency": "GBP" } },
  { "name": "mixing currencies is an error", "args": [{ "minor": 100, "currency": "GBP" }, { "minor": 100, "currency": "EUR" }], "expectError": "currency mismatch" }
]