f7
f7 is a spreadsheet formula execution library
git clone https://git.vogt.world/f7.git
Log | Files | README.md | LICENSE.md
← All files
name: src/test/js/execution/ExecutorSupportedMathFormulasTest.ts
-rw-r--r--
7426
  1import { runner, it, describe } from "../testutils/TestUtils";
  2
  3describe("Executor.execute - Math Formulas", function () {
  4  it("should support ABS", function () {
  5    runner().addCell("Alpha", "A1", "=ABS(-1)").addExpectedValue("Alpha", "A1", 1).run();
  6  });
  7
  8  it("should support ACOS", function () {
  9    runner().addCell("Alpha", "A1", "=ACOS(0)").addExpectedValue("Alpha", "A1", Math.acos(0)).run();
 10  });
 11
 12  it("should support ACOSH", function () {
 13    runner()
 14      .addCell("Alpha", "A1", "=ACOSH(2)")
 15      .addExpectedValue("Alpha", "A1", 1.3169578969248166)
 16      .run();
 17  });
 18
 19  it("should support ACOT", function () {
 20    runner()
 21      .addCell("Alpha", "A1", "=ACOT(10)")
 22      .addExpectedValue("Alpha", "A1", 0.09966865249116204)
 23      .run();
 24  });
 25
 26  it("should support ACOTH", function () {
 27    runner()
 28      .addCell("Alpha", "A1", "=ACOTH(10)")
 29      .addExpectedValue("Alpha", "A1", 0.10033534773107562)
 30      .run();
 31  });
 32
 33  it("should support ASIN", function () {
 34    runner()
 35      .addCell("Alpha", "A1", "=ASIN(0.1)")
 36      .addExpectedValue("Alpha", "A1", Math.asin(0.1))
 37      .run();
 38  });
 39
 40  it("should support ASINH", function () {
 41    runner()
 42      .addCell("Alpha", "A1", "=ASINH(10)")
 43      .addExpectedValue("Alpha", "A1", 2.99822295029797)
 44      .run();
 45  });
 46
 47  it("should support ATAN", function () {
 48    runner()
 49      .addCell("Alpha", "A1", "=ATAN(10)")
 50      .addExpectedValue("Alpha", "A1", Math.atan(10))
 51      .run();
 52  });
 53
 54  it("should support ATAN2", function () {
 55    runner()
 56      .addCell("Alpha", "A1", "=ATAN2(10, 4)")
 57      .addExpectedValue("Alpha", "A1", Math.atan2(10, 4))
 58      .run();
 59  });
 60
 61  it("should support ATANH", function () {
 62    runner()
 63      .addCell("Alpha", "A1", "=ATANH(0.489733)")
 64      .addExpectedValue("Alpha", "A1", 0.5357090350574656)
 65      .run();
 66  });
 67
 68  it("should support COS", function () {
 69    runner()
 70      .addCell("Alpha", "A1", "=COS(0.489733)")
 71      .addExpectedValue("Alpha", "A1", Math.cos(0.489733))
 72      .run();
 73  });
 74
 75  it("should support COSH", function () {
 76    runner()
 77      .addCell("Alpha", "A1", "=COSH(0.489733)")
 78      .addExpectedValue("Alpha", "A1", Math["cosh"](0.489733))
 79      .run();
 80  });
 81
 82  it("should support COT", function () {
 83    runner()
 84      .addCell("Alpha", "A1", "=COT(1)")
 85      .addExpectedValue("Alpha", "A1", 0.6420926159343306)
 86      .run();
 87  });
 88
 89  it("should support ADD", function () {
 90    runner().addCell("Alpha", "A1", "=ADD(1.0, 2)").addExpectedValue("Alpha", "A1", 3).run();
 91  });
 92
 93  it("should support DIVIDE", function () {
 94    runner().addCell("Alpha", "A1", "=DIVIDE(1.0, 2)").addExpectedValue("Alpha", "A1", 0.5).run();
 95  });
 96
 97  it("should support EVEN", function () {
 98    runner().addCell("Alpha", "A1", "=EVEN(1.1)").addExpectedValue("Alpha", "A1", 2).run();
 99  });
100
101  it("should support FLOOR", function () {
102    runner().addCell("Alpha", "A1", "=FLOOR(1.9)").addExpectedValue("Alpha", "A1", 1).run();
103  });
104
105  it("should support INT", function () {
106    runner().addCell("Alpha", "A1", "=INT(1.1)").addExpectedValue("Alpha", "A1", 1).run();
107  });
108
109  it("should support ISEVEN", function () {
110    runner().addCell("Alpha", "A1", "=ISEVEN(4)").addExpectedValue("Alpha", "A1", true).run();
111  });
112
113  it("should support ISODD", function () {
114    runner().addCell("Alpha", "A1", "=ISODD(1)").addExpectedValue("Alpha", "A1", true).run();
115  });
116
117  it("should support LN", function () {
118    runner()
119      .addCell("Alpha", "A1", "=LN(2)")
120      .addExpectedValue("Alpha", "A1", 0.6931471805599453)
121      .run();
122  });
123
124  it("should support LOG", function () {
125    runner()
126      .addCell("Alpha", "A1", "=LOG(10, 2)")
127      .addExpectedValue("Alpha", "A1", 3.3219280948873626)
128      .run();
129  });
130
131  it("should support LOG10", function () {
132    runner()
133      .addCell("Alpha", "A1", "=LOG10(128)")
134      .addExpectedValue("Alpha", "A1", Math["log10"](128))
135      .run();
136  });
137
138  it("should support MINUS", function () {
139    runner().addCell("Alpha", "A1", "=MINUS(1, 2)").addExpectedValue("Alpha", "A1", -1).run();
140  });
141
142  it("should support MOD", function () {
143    runner().addCell("Alpha", "A1", "=MOD(10, 3)").addExpectedValue("Alpha", "A1", 1).run();
144  });
145
146  it("should support MULTIPLY", function () {
147    runner().addCell("Alpha", "A1", "=MULTIPLY(2.0, 4)").addExpectedValue("Alpha", "A1", 8).run();
148  });
149
150  it("should support ODD", function () {
151    runner().addCell("Alpha", "A1", "=ODD(2)").addExpectedValue("Alpha", "A1", 3).run();
152  });
153
154  it("should support PI", function () {
155    runner().addCell("Alpha", "A1", "=PI()").addExpectedValue("Alpha", "A1", Math.PI).run();
156  });
157
158  it("should support POW", function () {
159    runner().addCell("Alpha", "A1", "=POW(2.0, 6)").addExpectedValue("Alpha", "A1", 64).run();
160  });
161
162  it("should support POWER", function () {
163    runner().addCell("Alpha", "A1", "=POWER(2, 6)").addExpectedValue("Alpha", "A1", 64).run();
164  });
165
166  it("should support PRODUCT", function () {
167    runner().addCell("Alpha", "A1", "=PRODUCT(2, 6, 2)").addExpectedValue("Alpha", "A1", 24).run();
168  });
169
170  it("should support QUOTIENT", function () {
171    runner().addCell("Alpha", "A1", "=QUOTIENT(10, 3)").addExpectedValue("Alpha", "A1", 3).run();
172  });
173
174  it("should support ROUNDDOWN", function () {
175    runner().addCell("Alpha", "A1", "=ROUNDDOWN(2.11)").addExpectedValue("Alpha", "A1", 2).run();
176  });
177
178  it("should support ROUNDUP", function () {
179    runner().addCell("Alpha", "A1", "=ROUNDUP(2.11)").addExpectedValue("Alpha", "A1", 3).run();
180  });
181
182  it("should support ROUND", function () {
183    runner().addCell("Alpha", "A1", "=ROUND(2.11)").addExpectedValue("Alpha", "A1", 2).run();
184  });
185
186  it("should support SIGN", function () {
187    runner().addCell("Alpha", "A1", "=SIGN(8)").addExpectedValue("Alpha", "A1", 1).run();
188  });
189
190  it("should support SIN", function () {
191    runner()
192      .addCell("Alpha", "A1", "=SIN(2)")
193      .addExpectedValue("Alpha", "A1", 0.9092974268256817)
194      .run();
195  });
196
197  it("should support SINH", function () {
198    runner()
199      .addCell("Alpha", "A1", "=SINH(2)")
200      .addExpectedValue("Alpha", "A1", Math["sinh"](2))
201      .run();
202  });
203
204  it("should support SQRT", function () {
205    runner().addCell("Alpha", "A1", "=SQRT(2)").addExpectedValue("Alpha", "A1", Math.sqrt(2)).run();
206  });
207
208  it("should support SQRTPI", function () {
209    runner()
210      .addCell("Alpha", "A1", "=SQRTPI(2)")
211      .addExpectedValue("Alpha", "A1", 2.5066282746310002)
212      .run();
213  });
214
215  it("should support SUM", function () {
216    runner().addCell("Alpha", "A1", "=SUM(2, 6)").addExpectedValue("Alpha", "A1", 8).run();
217  });
218
219  it("should support TAN", function () {
220    runner().addCell("Alpha", "A1", "=TAN(2)").addExpectedValue("Alpha", "A1", Math.tan(2)).run();
221  });
222
223  it("should support TANH", function () {
224    runner()
225      .addCell("Alpha", "A1", "=TANH(2)")
226      .addExpectedValue("Alpha", "A1", Math["tanh"](2))
227      .run();
228  });
229
230  it("should support UMINUS", function () {
231    runner().addCell("Alpha", "A1", "=UMINUS(2)").addExpectedValue("Alpha", "A1", -2).run();
232  });
233
234  it("should support UNARY_PERCENT", function () {
235    runner()
236      .addCell("Alpha", "A1", "=UNARY_PERCENT(2)")
237      .addExpectedValue("Alpha", "A1", 0.02)
238      .run();
239  });
240
241  it("should support UPLUS", function () {
242    runner().addCell("Alpha", "A1", "=UPLUS(2)").addExpectedValue("Alpha", "A1", 2).run();
243  });
244});