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/java/io/protobase/f7/spreadsheet/GeneralLessThanComparisonTest.java
-rw-r--r--
7503
  1package io.protobase.f7.spreadsheet;
  2
  3import io.protobase.f7.errors.RefException;
  4import io.protobase.f7.testutils.TestExecution;
  5import org.junit.Test;
  6
  7public class GeneralLessThanComparisonTest extends TestExecution {
  8  @Test
  9  public void test_Number() {
 10    runner().addCell("Alpha", "A1", "= 1 < 1").addExpectedValue("Alpha", "A1", false).run();
 11    runner().addCell("Alpha", "A1", "= 1 < 2").addExpectedValue("Alpha", "A1", true).run();
 12    runner().addCell("Alpha", "A1", "= -10 < 0").addExpectedValue("Alpha", "A1", true).run();
 13    runner().addCell("Alpha", "A1", "= 1.1928731 < 1.1928731").addExpectedValue("Alpha", "A1", false).run();
 14  }
 15
 16  @Test
 17  public void test_String() {
 18    runner().addCell("Alpha", "A1", "= \"Yes\" < \"Yes\"").addExpectedValue("Alpha", "A1", false).run();
 19    runner().addCell("Alpha", "A1", "= \"Yes\" < \"No\"").addExpectedValue("Alpha", "A1", false).run();
 20    runner().addCell("Alpha", "A1", "= \"No\"< \"Yes\"").addExpectedValue("Alpha", "A1", true).run();
 21    runner().addCell("Alpha", "A1", "= \"\" < \"\"").addExpectedValue("Alpha", "A1", false).run();
 22  }
 23
 24  @Test
 25  public void test_Boolean() {
 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", false).run();
 29    runner().addCell("Alpha", "A1", "= FALSE < TRUE").addExpectedValue("Alpha", "A1", true).run();
 30  }
 31
 32  @Test
 33  public void test_ArrayLiteral() {
 34    runner().addCell("Alpha", "A1", "= {1, 2, 3} < {1, 2, 3}").addExpectedValue("Alpha", "A1", false).run();
 35    runner().addCell("Alpha", "A1", "= {1, 2, 3} < {44}").addExpectedValue("Alpha", "A1", true).run();
 36    runner().addCell("Alpha", "A1", "= {44, 2, 3} < {1}").addExpectedValue("Alpha", "A1", false).run();
 37    runner().addCell("Alpha", "A1", "= {44, #REF!} < {44, #REF!}").addExpectedValue("Alpha", "A1", false).run();
 38  }
 39
 40  @Test
 41  public void test_NumberToBoolean() {
 42    runner().addCell("Alpha", "A1", "= 0 < TRUE").addExpectedValue("Alpha", "A1", true).run();
 43    runner().addCell("Alpha", "A1", "= 1 < TRUE").addExpectedValue("Alpha", "A1", true).run(); // Important.
 44    runner().addCell("Alpha", "A1", "= 1 < FALSE").addExpectedValue("Alpha", "A1", true).run();
 45    runner().addCell("Alpha", "A1", "= 0 < FALSE").addExpectedValue("Alpha", "A1", true).run();
 46    runner().addCell("Alpha", "A1", "= -1 < TRUE").addExpectedValue("Alpha", "A1", true).run();
 47    runner().addCell("Alpha", "A1", "= -1 < FALSE").addExpectedValue("Alpha", "A1", true).run();
 48  }
 49
 50  @Test
 51  public void test_NumberToString() {
 52    runner().addCell("Alpha", "A1", "= 0 < \"\"").addExpectedValue("Alpha", "A1", true).run();
 53    runner().addCell("Alpha", "A1", "= 0 < \"0\"").addExpectedValue("Alpha", "A1", true).run();
 54    runner().addCell("Alpha", "A1", "= 1 < \"0\"").addExpectedValue("Alpha", "A1", true).run();
 55    runner().addCell("Alpha", "A1", "= 1 < \"1\"").addExpectedValue("Alpha", "A1", true).run();
 56    runner().addCell("Alpha", "A1", "= -1 < \"1\"").addExpectedValue("Alpha", "A1", true).run();
 57    runner().addCell("Alpha", "A1", "= 1000 < \"-100\"").addExpectedValue("Alpha", "A1", true).run();
 58    runner().addCell("Alpha", "A1", "= 1000 < \"Anything in the world.\"").addExpectedValue("Alpha", "A1", true).run();
 59  }
 60
 61  @Test
 62  public void test_NumberToArrayLiteral() {
 63    runner().addCell("Alpha", "A1", "= -1 < {0, 1, 2}").addExpectedValue("Alpha", "A1", true).run();
 64    runner().addCell("Alpha", "A1", "= 0 < {0, 1, 2}").addExpectedValue("Alpha", "A1", false).run();
 65    runner().addCell("Alpha", "A1", "= 1 < {0, 1, 2}").addExpectedValue("Alpha", "A1", false).run();
 66    runner().addCell("Alpha", "A1", "= 0 < {1, 1, 2}").addExpectedValue("Alpha", "A1", true).run();
 67    runner().addCell("Alpha", "A1", "= 0 < {1, \"Ignore me.\"}").addExpectedValue("Alpha", "A1", true).run();
 68  }
 69
 70  @Test
 71  public void test_NumberToBlank() {
 72    runner().addCell("Alpha", "A1", "= 0 < M9").addExpectedValue("Alpha", "A1", false).run();
 73    runner().addCell("Alpha", "A1", "= 1 < M9").addExpectedValue("Alpha", "A1", false).run();
 74    runner().addCell("Alpha", "A1", "= M9 < 0").addExpectedValue("Alpha", "A1", false).run();
 75    runner().addCell("Alpha", "A1", "= M9 < 1").addExpectedValue("Alpha", "A1", true).run();
 76    runner().addCell("Alpha", "A1", "= -1 < M9").addExpectedValue("Alpha", "A1", true).run();
 77    runner().addCell("Alpha", "A1", "= M9 < -1").addExpectedValue("Alpha", "A1", false).run();
 78  }
 79
 80  @Test
 81  public void test_StringToBoolean() {
 82    runner().addCell("Alpha", "A1", "= \"TRUE\" < TRUE").addExpectedValue("Alpha", "A1", true).run();
 83    runner().addCell("Alpha", "A1", "= \"FALSE\" < FALSE").addExpectedValue("Alpha", "A1", true).run();
 84    runner().addCell("Alpha", "A1", "= \"TRUE\" < TRUE").addExpectedValue("Alpha", "A1", true).run();
 85    runner().addCell("Alpha", "A1", "= \"\" < TRUE").addExpectedValue("Alpha", "A1", true).run();
 86    runner().addCell("Alpha", "A1", "= \"\" < FALSE").addExpectedValue("Alpha", "A1", true).run();
 87  }
 88
 89  @Test
 90  public void test_StringToBlank() {
 91    runner().addCell("Alpha", "A1", "= \"\" < M10").addExpectedValue("Alpha", "A1", false).run();
 92    runner().addCell("Alpha", "A1", "= M10 < \"\"").addExpectedValue("Alpha", "A1", false).run();
 93    runner().addCell("Alpha", "A1", "= \" \" < M10").addExpectedValue("Alpha", "A1", false).run();
 94    runner().addCell("Alpha", "A1", "= M10 < \" \"").addExpectedValue("Alpha", "A1", true).run();
 95    runner().addCell("Alpha", "A1", "= \"One\" < M10").addExpectedValue("Alpha", "A1", false).run();
 96    runner().addCell("Alpha", "A1", "= M10 < \"One\"").addExpectedValue("Alpha", "A1", true).run();
 97  }
 98
 99  @Test
100  public void test_BooleanToBlank() {
101    runner().addCell("Alpha", "A1", "= TRUE < M10").addExpectedValue("Alpha", "A1", false).run();
102    runner().addCell("Alpha", "A1", "= FALSE < M10").addExpectedValue("Alpha", "A1", false).run();
103    runner().addCell("Alpha", "A1", "= M10 < TRUE").addExpectedValue("Alpha", "A1", true).run();
104    runner().addCell("Alpha", "A1", "= M10 < FALSE").addExpectedValue("Alpha", "A1", false).run();
105  }
106
107  @Test
108  public void test_ArrayLiteralToString() {
109    runner().addCell("Alpha", "A1", "= {\"A\", \"B\"} < \"A\"").addExpectedValue("Alpha", "A1", false).run();
110    runner().addCell("Alpha", "A1", "= {\"A\", \"B\"} < \"B\"").addExpectedValue("Alpha", "A1", true).run();
111    runner().addCell("Alpha", "A1", "= \"A\" < {\"A\", \"B\"}").addExpectedValue("Alpha", "A1", false).run();
112    runner().addCell("Alpha", "A1", "= \"B\" < {\"A\", \"B\"}").addExpectedValue("Alpha", "A1", false).run();
113  }
114
115  @Test
116  public void test_ArrayLiteralToBoolean() {
117    runner().addCell("Alpha", "A1", "= {TRUE, FALSE} < TRUE").addExpectedValue("Alpha", "A1", false).run();
118    runner().addCell("Alpha", "A1", "= TRUE < {TRUE, FALSE}").addExpectedValue("Alpha", "A1", false).run();
119    runner().addCell("Alpha", "A1", "= {FALSE, FALSE} < TRUE").addExpectedValue("Alpha", "A1", true).run();
120    runner().addCell("Alpha", "A1", "= TRUE < {FALSE, FALSE}").addExpectedValue("Alpha", "A1", false).run();
121  }
122
123  @Test
124  public void test_Error() {
125    runner().addCell("Alpha", "A1", "= 10 < #REF!").addExpectedValue("Alpha", "A1", new RefException()).run();
126    runner().addCell("Alpha", "A1", "= #REF! < TRUE").addExpectedValue("Alpha", "A1", new RefException()).run();
127  }
128}