Files
MikrotikManager/backend/src/services/ospf-observed-values.test.ts
T

12 lines
1.0 KiB
TypeScript

import assert from "node:assert/strict"
import { observedInteger, observedDurationMs, observedBoolean } from "./ospf-observed-values.js"
for (const raw of [undefined, "", " ", "1x", "-1", "1.5", "9007199254740992"]) assert.equal(observedInteger(raw), null)
assert.equal(observedInteger("0"), 0); assert.equal(observedInteger("255", 0, 255), 255); assert.equal(observedInteger("256", 0, 255), null)
for (const raw of [undefined, "", "-1s", "12junk", "200", "1s2s", "60:00", "00:99:00", "1s junk"]) assert.equal(observedDurationMs(raw), null)
for (const [raw, ms] of [["0ms", 0], ["0", 0], ["1us", 0.001], ["1s200ms", 1200], ["1h2m3s", 3723000], ["01:02:03.5", 3723500], ["02:03", 123000]] as const) assert.equal(observedDurationMs(raw), ms)
console.log("OSPF observed values: absent/zero/invalid/unsafe/units/clock passed")
for (const raw of [undefined, "", "junk"]) assert.equal(observedBoolean(raw), null)
for (const raw of ["true", "yes"]) assert.equal(observedBoolean(raw), true)
for (const raw of ["false", "no"]) assert.equal(observedBoolean(raw), false)