@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
49 lines (40 loc) • 1.1 kB
text/typescript
import { toFiniteNumberWithDefault } from "..";
describe("toNumber", () => {
const DEFAULT = 5;
it("return number if input is number", () => {
const inputs = [-1, 0, 1, 100];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toFiniteNumberWithDefault(DEFAULT, input);
expect(output).toBe(input);
});
});
it("return number if input is string as number", () => {
const inputs = ["-1", "0", "1", "100"];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toFiniteNumberWithDefault(DEFAULT, input);
expect(output).toBe(Number(input));
});
});
it("return default if input is not a number or infinite", () => {
const inputs = [
"vfdvf",
null,
undefined,
NaN,
"",
{},
{ test: 1 },
[],
[1],
Infinity,
-Infinity,
];
expect.assertions(inputs.length);
inputs.forEach((input) => {
const output = toFiniteNumberWithDefault(DEFAULT, input);
expect(output).toBe(DEFAULT);
});
});
});