45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
---
|
|
epic: 3
|
|
story: 3.4
|
|
title: "Currency Symbol & Code Recognition"
|
|
status: draft
|
|
---
|
|
|
|
## Epic 3 — Currency & Cryptocurrency
|
|
**Goal:** Real-time and historical currency conversion with 180+ fiat and 50+ crypto.
|
|
|
|
### Story 3.4: Currency Symbol & Code Recognition
|
|
|
|
As a CalcPad user,
|
|
I want to use both currency symbols ($, EUR) and ISO codes interchangeably,
|
|
So that I can write currency expressions naturally without remembering specific format rules.
|
|
|
|
**Acceptance Criteria:**
|
|
|
|
**Given** the expression `$100 to EUR`
|
|
**When** the engine evaluates it
|
|
**Then** `$` is recognized as `USD` and the conversion to `EUR` is performed
|
|
|
|
**Given** the expression `100 USD to EUR`
|
|
**When** the engine evaluates it
|
|
**Then** `USD` is recognized as the same currency as `$`
|
|
**And** the result matches `$100 to EUR`
|
|
|
|
**Given** the expression `€50 in dollars`
|
|
**When** the engine evaluates it
|
|
**Then** `€` is recognized as `EUR` and `dollars` is resolved to `USD`
|
|
|
|
**Given** the expression `R$500 in dollars`
|
|
**When** the engine evaluates it
|
|
**Then** `R$` is recognized as `BRL` (Brazilian Real)
|
|
**And** the result is the equivalent in USD
|
|
|
|
**Given** the expression `¥10000 in USD`
|
|
**When** the engine evaluates it
|
|
**Then** `¥` is resolved based on context (default: JPY; CNY if specified)
|
|
|
|
**Given** the expression `100 GBP to £`
|
|
**When** the engine evaluates it
|
|
**Then** it recognizes that the source and target are the same currency
|
|
**And** the result is `£100`
|