54 lines
No EOL
1.6 KiB
TypeScript
54 lines
No EOL
1.6 KiB
TypeScript
import T from "./TestHelper";
|
|
import {equal} from "assert";
|
|
import {Unit} from "../Models/Unit";
|
|
import {Denomination} from "../Models/Denomination";
|
|
|
|
export default class UnitsSpec extends T {
|
|
|
|
constructor() {
|
|
super("units", [
|
|
["Simple canonicalize", () => {
|
|
|
|
const unit = new Denomination({
|
|
canonicalDenomination: "m",
|
|
alternativeDenomination: ["meter"],
|
|
'default': true,
|
|
human: {
|
|
en: "meter"
|
|
}
|
|
}, "test")
|
|
|
|
equal(unit.canonicalValue("42m"), "42 m")
|
|
equal(unit.canonicalValue("42"), "42 m")
|
|
equal(unit.canonicalValue("42 m"), "42 m")
|
|
equal(unit.canonicalValue("42 meter"), "42 m")
|
|
|
|
|
|
}],
|
|
["Advanced canonicalize and back", () => {
|
|
|
|
const unit = new Denomination({
|
|
"canonicalDenomination": "MW",
|
|
"alternativeDenomination": ["megawatts", "megawatt"],
|
|
"human": {
|
|
"en": " megawatts",
|
|
"nl": " megawatt"
|
|
},
|
|
"default": true
|
|
}, "test");
|
|
|
|
const canonical = unit.canonicalValue("5")
|
|
equal(canonical, "5 MW")
|
|
const units = new Unit(["key"], [unit], false)
|
|
const [detected, detectedDenom] = units.findDenomination("5 MW")
|
|
equal(detected, "5")
|
|
equal(detectedDenom, unit)
|
|
}
|
|
]
|
|
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
} |