spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← All files
name: tests/Utilities/MoreUtilsTest.ts
-rw-r--r--
5874
 1import {
 2  assertEquals,
 3  test
 4} from "../Utils/Asserts";
 5import {
 6  isDefined,
 7  isUndefined,
 8  NumberStringBuilder
 9} from "../../src/Utilities/MoreUtils";
10
11test("MoreUtils.isDefined", function () {
12  let und;
13  assertEquals(isDefined(und), false);
14  assertEquals(isDefined("10"), true);
15  assertEquals(isDefined(10), true);
16  assertEquals(isDefined(true), true);
17  assertEquals(isDefined(false), true);
18});
19
20test("MoreUtils.isUndefined", function () {
21  let und;
22  assertEquals(isUndefined(und), true);
23  assertEquals(isUndefined("10"), false);
24  assertEquals(isUndefined(10), false);
25  assertEquals(isUndefined(true), false);
26  assertEquals(isUndefined(false), false);
27});
28
29test("MoreUtils.NumberStringBuilder", function () {
30  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(2).decimalZeros(1).build(), "12.3");
31  assertEquals(NumberStringBuilder.start().number(0.01).integerZeros(2).decimalZeros(1).build(), "00.0");
32  assertEquals(NumberStringBuilder.start().number(12).integerZeros(2).decimalZeros(0).build(), "12");
33  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(2).decimalZeros(0).build(), "12");
34  assertEquals(NumberStringBuilder.start().number(12).integerZeros(2).decimalZeros(2).build(), "12.00");
35  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(1).decimalZeros(2).build(), "0.99");
36  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(2).decimalZeros(2).build(), "00.99");
37  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(4).decimalZeros(2).build(), "0000.99");
38  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(1).decimalZeros(4).build(), "0.9900");
39  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(1).decimalZeros(1).build(), "1.0");
40  assertEquals(NumberStringBuilder.start().number(0.88).integerZeros(1).decimalZeros(1).build(), "0.9");
41  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(0).decimalZeros(2).build(), ".99");
42  assertEquals(NumberStringBuilder.start().number(0.88).integerZeros(2).decimalZeros(1).build(), "00.9");
43  assertEquals(NumberStringBuilder.start().number(0.88).integerZeros(2).decimalZeros(2).build(), "00.88");
44  assertEquals(NumberStringBuilder.start().number(0.88).integerZeros(2).decimalZeros(3).build(), "00.880");
45  assertEquals(NumberStringBuilder.start().number(1.88).integerZeros(2).decimalZeros(3).build(), "01.880");
46  assertEquals(NumberStringBuilder.start().number(1.99).integerZeros(2).decimalZeros(1).build(), "02.0");
47
48  assertEquals(NumberStringBuilder.start().number(-12.3).integerZeros(2).decimalZeros(1).build(), "-12.3");
49  assertEquals(NumberStringBuilder.start().number(-0.01).integerZeros(2).decimalZeros(1).build(), "-00.0");
50  assertEquals(NumberStringBuilder.start().number(-12).integerZeros(2).decimalZeros(0).build(), "-12");
51  assertEquals(NumberStringBuilder.start().number(-12.3).integerZeros(2).decimalZeros(0).build(), "-12");
52  assertEquals(NumberStringBuilder.start().number(-12).integerZeros(2).decimalZeros(2).build(), "-12.00");
53  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(1).decimalZeros(2).build(), "-0.99");
54  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(2).decimalZeros(2).build(), "-00.99");
55  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(4).decimalZeros(2).build(), "-0000.99");
56  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(1).decimalZeros(4).build(), "-0.9900");
57  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(1).decimalZeros(1).build(), "-1.0");
58  assertEquals(NumberStringBuilder.start().number(-0.88).integerZeros(1).decimalZeros(1).build(), "-0.9");
59  assertEquals(NumberStringBuilder.start().number(-0.99).integerZeros(0).decimalZeros(2).build(), "-.99");
60  assertEquals(NumberStringBuilder.start().number(-0.88).integerZeros(2).decimalZeros(1).build(), "-00.9");
61  assertEquals(NumberStringBuilder.start().number(-0.88).integerZeros(2).decimalZeros(2).build(), "-00.88");
62  assertEquals(NumberStringBuilder.start().number(-0.88).integerZeros(2).decimalZeros(3).build(), "-00.880");
63  assertEquals(NumberStringBuilder.start().number(-1.88).integerZeros(2).decimalZeros(3).build(), "-01.880");
64  assertEquals(NumberStringBuilder.start().number(-1.99).integerZeros(2).decimalZeros(1).build(), "-02.0");
65  assertEquals(NumberStringBuilder.start().number(-12).integerZeros(2).decimalZeros(0).tail("%").head("%").build(), "-%12%");
66
67
68  assertEquals(NumberStringBuilder.start().number(1234223.3324224).integerZeros(10).decimalZeros(1).build(), "0001234223.3");
69  assertEquals(NumberStringBuilder.start().number(12).integerZeros(2).decimalZeros(0).tail("%").head("%").build(), "%12%");
70  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(2).decimalZeros(1).tail("%").build(), "12.3%");
71  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(2).decimalZeros(1).head("%").build(), "%12.3");
72  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(2).decimalZeros(1).head("$+_").tail("$+_").build(), "$+_12.3$+_");
73  assertEquals(NumberStringBuilder.start().number(123456789).integerZeros(1).decimalZeros(1).commafy(true).build(), "123,456,789.0");
74  assertEquals(NumberStringBuilder.start().number(123456789.99).integerZeros(1).decimalZeros(1).commafy(true).build(), "123,456,790.0");
75  assertEquals(NumberStringBuilder.start().number(0.99).integerZeros(4).decimalZeros(2).commafy(true).build(), "0,000.99");
76
77  assertEquals(NumberStringBuilder.start().number(12.3).integerZeros(1).maximumDecimalPlaces(1).build(), "12.3");
78  assertEquals(NumberStringBuilder.start().number(12.33333).integerZeros(1).maximumDecimalPlaces(100).build(), "12.33333");
79  assertEquals(NumberStringBuilder.start().number(12.33).integerZeros(1).maximumDecimalPlaces(100).build(), "12.33");
80});