initial commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
---
|
||||
epic: 2
|
||||
story: 2.5
|
||||
title: "Natural Language Unit Expressions"
|
||||
status: draft
|
||||
---
|
||||
|
||||
## Epic 2 — Unit Conversion System
|
||||
**Goal:** Support 200+ units across all major categories with SI prefix support.
|
||||
|
||||
### Story 2.5: Natural Language Unit Expressions
|
||||
|
||||
As a CalcPad user,
|
||||
I want to write unit conversions using natural language keywords like "in", "to", and "as" with plural and singular unit names,
|
||||
So that I can express conversions the way I naturally think about them.
|
||||
|
||||
**Acceptance Criteria:**
|
||||
|
||||
**Given** the expression `5 inches in cm`
|
||||
**When** the engine evaluates it
|
||||
**Then** it recognizes `in` as a conversion operator and `cm` as the target unit
|
||||
**And** the result is `12.7 cm`
|
||||
|
||||
**Given** the expression `100 ft to meters`
|
||||
**When** the engine evaluates it
|
||||
**Then** it recognizes `to` as a conversion operator
|
||||
**And** the result is `30.48 meters`
|
||||
|
||||
**Given** the expression `72 kg as pounds`
|
||||
**When** the engine evaluates it
|
||||
**Then** it recognizes `as` as a conversion operator
|
||||
**And** the result is approximately `158.733 pounds`
|
||||
|
||||
**Given** the expression `1 foot in inches`
|
||||
**When** the engine evaluates it
|
||||
**Then** it recognizes both the singular `foot` and plural `inches`
|
||||
**And** the result is `12 inches`
|
||||
|
||||
**Given** the expression `5 lbs in kilograms`
|
||||
**When** the engine evaluates it
|
||||
**Then** it recognizes the abbreviation `lbs` and full name `kilograms`
|
||||
**And** the result is approximately `2.26796 kilograms`
|
||||
|
||||
**Given** the word `in` used in a context that is not a unit conversion (e.g., `5 in + 3 in`)
|
||||
**When** the engine evaluates it
|
||||
**Then** it correctly interprets `in` as the unit "inches" rather than a conversion operator
|
||||
**And** the result is `8 in`
|
||||
Reference in New Issue
Block a user