Skip to content

feat: add Imperial unit conversions - #38

Merged
ScottishTapWater merged 1 commit into
refactor/metric-extensionfrom
feat/imperial-units
Oct 25, 2026
Merged

ScottishTapWater merged 1 commit into
refactor/metric-extensionfrom
feat/imperial-units

Conversation

@ScottishTapWater

Copy link
Copy Markdown
Contributor

Summary

Adds the opt-in DimensionalQuantities.Extensions.Imperial package on top of #37. It provides British and US customary conversions for length, area, volume, mass, speed, force, pressure, energy, power, and absolute Fahrenheit temperature. US and Imperial liquid measures have distinct method names; the BTU helper uses the International Table definition.

The provider generates no SI-prefixed helpers. Core gains package-neutral Speed and Force quantity names. The package checker now validates every extension included in the solution, and the README shows how to use Imperial conversions.

Verification

  • Release solution build: 0 warnings, 0 errors.
  • Full suite: 1,001 tests passed, including six Imperial tests and a packaged consumer test.
  • dotnet pack produced runtime and symbol packages; package layout check passed.
  • dotnet format --verify-no-changes --no-restore passed for changed C# files.
  • Independent production and test reviews found no actionable issues.

Conversion definitions follow NIST SP 811, its International Table BTU footnote, and the UK Units of Measurement Regulations.

@ScottishTapWater
ScottishTapWater merged commit 4fe6296 into main Oct 25, 2026
2 checks passed
@ScottishTapWater
ScottishTapWater deleted the feat/imperial-units branch October 25, 2026 10:57
ScottishTapWater added a commit that referenced this pull request Oct 25, 2026
## Summary

Adds the opt-in `DimensionalQuantities.Extensions.Nautical` package on
top of #38. It provides conversions for the international nautical mile,
fathom, square nautical mile, and knot. Ambiguous regional cable
definitions are left out. The provider generates no SI-prefixed helpers.

The README includes a short usage example. Packaged-consumer and
symbol-package integration tests cover the new package.

## Verification

- Release solution build: 0 warnings, 0 errors.
- Nautical tests: 3 passed; packaged integration tests: 10 passed.
- `dotnet pack` and package layout check passed for all solution
packages and symbols.
- `dotnet format --verify-no-changes --no-restore` passed for changed C#
files.
- Independent production and test reviews found no actionable issues.

Definitions follow [NOAA's nautical mile and knot
reference](https://oceanservice.noaa.gov/facts/nautical-mile-knot.html)
and [NOAA's charting distance
conversions](https://www.nauticalcharts.noaa.gov/publications/docs/distances.pdf).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant