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/ExecutorGreaterThanComparisonTest.ts
-rw-r--r--
8379
  1import { RefException } from "../../../main/js/errors/RefException";
  2import { runner, it, describe } from "../testutils/TestUtils";
  3
  4describe("Executor.execute - Greater Than Comparision", function () {
  5  it("should work with numbers", function () {
  6    runner().addCell("Alpha", "A1", "= 1 > 1").addExpectedValue("Alpha", "A1", false).run();
  7    runner().addCell("Alpha", "A1", "= 1 > 2").addExpectedValue("Alpha", "A1", false).run();
  8    runner().addCell("Alpha", "A1", "= 2 > 1").addExpectedValue("Alpha", "A1", true).run();
  9    runner().addCell("Alpha", "A1", "= -10 > 0").addExpectedValue("Alpha", "A1", false).run();
 10    runner().addCell("Alpha", "A1", "= 0 > -10").addExpectedValue("Alpha", "A1", true).run();
 11    runner()
 12      .addCell("Alpha", "A1", "= 1.1928731 > 1.1928731")
 13      .addExpectedValue("Alpha", "A1", false)
 14      .run();
 15  });
 16
 17  it("should work with strings", function () {
 18    runner().addCell("Alpha", "A1", '= "Yes" > "Yes"').addExpectedValue("Alpha", "A1", false).run();
 19    runner().addCell("Alpha", "A1", '= "Yes" > "No"').addExpectedValue("Alpha", "A1", true).run();
 20    runner().addCell("Alpha", "A1", '= "No"> "Yes"').addExpectedValue("Alpha", "A1", false).run();
 21    runner().addCell("Alpha", "A1", '= "" > ""').addExpectedValue("Alpha", "A1", false).run();
 22    runner().addCell("Alpha", "A1", '= " " > ""').addExpectedValue("Alpha", "A1", true).run();
 23  });
 24
 25  it("should work with booleans", function () {
 26    runner().addCell("Alpha", "A1", "= TRUE > TRUE").addExpectedValue("Alpha", "A1", false).run();
 27    runner().addCell("Alpha", "A1", "= FALSE > FALSE").addExpectedValue("Alpha", "A1", false).run();
 28    runner().addCell("Alpha", "A1", "= TRUE > FALSE").addExpectedValue("Alpha", "A1", true).run();
 29    runner().addCell("Alpha", "A1", "= FALSE > TRUE").addExpectedValue("Alpha", "A1", false).run();
 30  });
 31
 32  it("should work with array literals", function () {
 33    runner()
 34      .addCell("Alpha", "A1", "= {1, 2, 3} > {1, 2, 3}")
 35      .addExpectedValue("Alpha", "A1", false)
 36      .run();
 37    runner()
 38      .addCell("Alpha", "A1", "= {1, 2, 3} > {44}")
 39      .addExpectedValue("Alpha", "A1", false)
 40      .run();
 41    runner()
 42      .addCell("Alpha", "A1", "= {44, 2, 3} > {1}")
 43      .addExpectedValue("Alpha", "A1", true)
 44      .run();
 45    runner()
 46      .addCell("Alpha", "A1", "= {44, #REF!} > {44, #REF!}")
 47      .addExpectedValue("Alpha", "A1", false)
 48      .run();
 49  });
 50
 51  it("should work with number to boolean comparison", function () {
 52    runner().addCell("Alpha", "A1", "= 0 > TRUE").addExpectedValue("Alpha", "A1", false).run();
 53    runner().addCell("Alpha", "A1", "= 1 > TRUE").addExpectedValue("Alpha", "A1", false).run();
 54    runner().addCell("Alpha", "A1", "= 1 > FALSE").addExpectedValue("Alpha", "A1", false).run();
 55    runner().addCell("Alpha", "A1", "= 0 > FALSE").addExpectedValue("Alpha", "A1", false).run();
 56    runner().addCell("Alpha", "A1", "= -1 > TRUE").addExpectedValue("Alpha", "A1", false).run();
 57    runner().addCell("Alpha", "A1", "= -1 > FALSE").addExpectedValue("Alpha", "A1", false).run();
 58  });
 59
 60  it("should work with number to string comparison", function () {
 61    runner().addCell("Alpha", "A1", '= 0 > ""').addExpectedValue("Alpha", "A1", false).run();
 62    runner().addCell("Alpha", "A1", '= 0 > "0"').addExpectedValue("Alpha", "A1", false).run();
 63    runner().addCell("Alpha", "A1", '= 1 > "0"').addExpectedValue("Alpha", "A1", false).run();
 64    runner().addCell("Alpha", "A1", '= 1 > "1"').addExpectedValue("Alpha", "A1", false).run();
 65    runner().addCell("Alpha", "A1", '= -1 > "1"').addExpectedValue("Alpha", "A1", false).run();
 66    runner().addCell("Alpha", "A1", '= 1000 > "-100"').addExpectedValue("Alpha", "A1", false).run();
 67    runner()
 68      .addCell("Alpha", "A1", '= 1000 > "Anything in the world."')
 69      .addExpectedValue("Alpha", "A1", false)
 70      .run();
 71  });
 72
 73  it("should with number to array literal comparison", function () {
 74    runner()
 75      .addCell("Alpha", "A1", "= -1 > {0, 1, 2}")
 76      .addExpectedValue("Alpha", "A1", false)
 77      .run();
 78    runner().addCell("Alpha", "A1", "= 0 > {0, 1, 2}").addExpectedValue("Alpha", "A1", false).run();
 79    runner().addCell("Alpha", "A1", "= 1 > {0, 1, 2}").addExpectedValue("Alpha", "A1", true).run();
 80    runner().addCell("Alpha", "A1", "= 0 > {1, 1, 2}").addExpectedValue("Alpha", "A1", false).run();
 81    runner()
 82      .addCell("Alpha", "A1", '= 0 > {1, "Ignore me."}')
 83      .addExpectedValue("Alpha", "A1", false)
 84      .run();
 85  });
 86
 87  it("should work with number to blank comparison", function () {
 88    runner().addCell("Alpha", "A1", "= 0 > M9").addExpectedValue("Alpha", "A1", false).run();
 89    runner().addCell("Alpha", "A1", "= 1 > M9").addExpectedValue("Alpha", "A1", true).run();
 90    runner().addCell("Alpha", "A1", "= M9 > 0").addExpectedValue("Alpha", "A1", false).run();
 91    runner().addCell("Alpha", "A1", "= M9 > 1").addExpectedValue("Alpha", "A1", false).run();
 92    runner().addCell("Alpha", "A1", "= -1 > M9").addExpectedValue("Alpha", "A1", false).run();
 93    runner().addCell("Alpha", "A1", "= M9 > -1").addExpectedValue("Alpha", "A1", true).run();
 94  });
 95
 96  it("should work with string to boolean comparision", function () {
 97    runner().addCell("Alpha", "A1", '= "TRUE" > TRUE').addExpectedValue("Alpha", "A1", false).run();
 98    runner()
 99      .addCell("Alpha", "A1", '= "FALSE" > FALSE')
100      .addExpectedValue("Alpha", "A1", false)
101      .run();
102    runner().addCell("Alpha", "A1", '= "TRUE" > TRUE').addExpectedValue("Alpha", "A1", false).run();
103    runner().addCell("Alpha", "A1", '= "" > TRUE').addExpectedValue("Alpha", "A1", false).run();
104    runner().addCell("Alpha", "A1", '= "" > FALSE').addExpectedValue("Alpha", "A1", false).run();
105  });
106
107  it("should work with string to blank comparison", function () {
108    runner().addCell("Alpha", "A1", '= "" > M10').addExpectedValue("Alpha", "A1", false).run();
109    runner().addCell("Alpha", "A1", '= M10 > ""').addExpectedValue("Alpha", "A1", false).run();
110    runner().addCell("Alpha", "A1", '= " " > M10').addExpectedValue("Alpha", "A1", true).run();
111    runner().addCell("Alpha", "A1", '= M10 > " "').addExpectedValue("Alpha", "A1", false).run();
112    runner().addCell("Alpha", "A1", '= "One" > M10').addExpectedValue("Alpha", "A1", true).run();
113    runner().addCell("Alpha", "A1", '= M10 > "One"').addExpectedValue("Alpha", "A1", false).run();
114  });
115
116  it("should work with boolean to blank comparison", function () {
117    runner().addCell("Alpha", "A1", "= TRUE > M10").addExpectedValue("Alpha", "A1", true).run();
118    runner().addCell("Alpha", "A1", "= FALSE > M10").addExpectedValue("Alpha", "A1", false).run();
119    runner().addCell("Alpha", "A1", "= M10 > TRUE").addExpectedValue("Alpha", "A1", false).run();
120    runner().addCell("Alpha", "A1", "= M10 > FALSE").addExpectedValue("Alpha", "A1", false).run();
121  });
122
123  it("should work with array literal to string comparison", function () {
124    runner()
125      .addCell("Alpha", "A1", '= {"A", "B"} > "A"')
126      .addExpectedValue("Alpha", "A1", false)
127      .run();
128    runner()
129      .addCell("Alpha", "A1", '= {"A", "B"} > "B"')
130      .addExpectedValue("Alpha", "A1", false)
131      .run();
132    runner()
133      .addCell("Alpha", "A1", '= "A" > {"A", "B"}')
134      .addExpectedValue("Alpha", "A1", false)
135      .run();
136    runner()
137      .addCell("Alpha", "A1", '= "B" > {"A", "B"}')
138      .addExpectedValue("Alpha", "A1", true)
139      .run();
140  });
141
142  it("should work with array literal to boolean comparison", function () {
143    runner()
144      .addCell("Alpha", "A1", "= {TRUE, FALSE} > TRUE")
145      .addExpectedValue("Alpha", "A1", false)
146      .run();
147    runner()
148      .addCell("Alpha", "A1", "= TRUE > {TRUE, FALSE}")
149      .addExpectedValue("Alpha", "A1", false)
150      .run();
151    runner()
152      .addCell("Alpha", "A1", "= {FALSE, FALSE} > TRUE")
153      .addExpectedValue("Alpha", "A1", false)
154      .run();
155    runner()
156      .addCell("Alpha", "A1", "= TRUE > {FALSE, FALSE}")
157      .addExpectedValue("Alpha", "A1", true)
158      .run();
159  });
160
161  it("should return errors when encountering them", function () {
162    runner()
163      .addCell("Alpha", "A1", "= 10 > #REF!")
164      .addExpectedValue("Alpha", "A1", new RefException())
165      .run();
166    runner()
167      .addCell("Alpha", "A1", "= #REF! > TRUE")
168      .addExpectedValue("Alpha", "A1", new RefException())
169      .run();
170  });
171});