Files
calctext/_bmad-output/implementation-artifacts/3-5-multi-currency-arithmetic.md
2026-03-16 19:54:53 -04:00

1.6 KiB

epic, story, title, status
epic story title status
3 3.5 Multi-Currency Arithmetic draft

Epic 3 — Currency & Cryptocurrency

Goal: Real-time and historical currency conversion with 180+ fiat and 50+ crypto.

Story 3.5: Multi-Currency Arithmetic

As a CalcPad user, I want to add and subtract amounts in different currencies within a single expression, So that I can calculate totals across currencies without manual conversions.

Acceptance Criteria:

Given the expression $20 + €15 + £10 in BRL When the engine evaluates it Then each amount is converted to BRL using current rates And the results are summed to produce a single BRL total

Given the expression $100 - €30 When the engine evaluates it Then €30 is converted to USD (the currency of the left-hand operand) And the result is expressed in USD

Given the expression $50 + $30 When the engine evaluates it Then no conversion is needed (same currency) And the result is $80

Given the expression $20 + €15 + £10 with no explicit target currency When the engine evaluates it Then all amounts are converted to the currency of the first operand (USD) And the result is expressed in USD

Given the expression $20 * €15 When the engine evaluates it Then it returns a CalcResult::Error because multiplying two currency values is not meaningful And the error message is descriptive

Given the expression ($100 + €50) * 2 in GBP When the engine evaluates it Then the addition is performed first (converting EUR to USD), then multiplied by 2, then converted to GBP And the result is a single GBP value