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/GeneralUnaryPercentTest.java
-rw-r--r--
2218
 1package io.protobase.f7.spreadsheet;
 2
 3import io.protobase.f7.errors.ParseException;
 4import io.protobase.f7.testutils.TestExecution;
 5import org.junit.Test;
 6
 7public class GeneralUnaryPercentTest extends TestExecution {
 8  @Test
 9  public void test_Number() {
10    runner().addCell("Alpha", "A1", "= 0%").addExpectedValue("Alpha", "A1", 0.0).run();
11    runner().addCell("Alpha", "A1", "= 1%").addExpectedValue("Alpha", "A1", 0.01).run();
12    runner().addCell("Alpha", "A1", "= 10%").addExpectedValue("Alpha", "A1", 0.1).run();
13    runner().addCell("Alpha", "A1", "= 100%").addExpectedValue("Alpha", "A1", 1.0).run();
14    runner().addCell("Alpha", "A1", "= 1000%").addExpectedValue("Alpha", "A1", 10.0).run();
15    runner().addCell("Alpha", "A1", "= 0.2318937%").addExpectedValue("Alpha", "A1", 0.002318937).run();
16    runner().addCell("Alpha", "A1", "= 10.167531%").addExpectedValue("Alpha", "A1", 0.10167531).run();
17  }
18
19  @Test
20  public void test_String() {
21    runner().addCell("Alpha", "A1", "= \"1\"%").addExpectedValue("Alpha", "A1", 0.01).run();
22    runner().addCell("Alpha", "A1", "= \"10\"%").addExpectedValue("Alpha", "A1", 0.1).run();
23    runner().addCell("Alpha", "A1", "= \"100\"%").addExpectedValue("Alpha", "A1", 1.0).run();
24    runner().addCell("Alpha", "A1", "= \"1000\"%").addExpectedValue("Alpha", "A1", 10.0).run();
25    runner().addCell("Alpha", "A1", "= \"0.2318937\"%").addExpectedValue("Alpha", "A1", 0.002318937).run();
26    runner().addCell("Alpha", "A1", "= \"10.167531\"%").addExpectedValue("Alpha", "A1", 0.10167531).run();
27  }
28
29  @Test
30  public void test_Boolean() {
31    runner().addCell("Alpha", "A1", "= TRUE%").addExpectedValue("Alpha", "A1", 0.01).run();
32    runner().addCell("Alpha", "A1", "= FALSE%").addExpectedValue("Alpha", "A1", 0.0).run();
33  }
34
35  @Test
36  public void test_ArrayLiteral() {
37    runner().addCell("Alpha", "A1", "= {1, 2, 3}%").addExpectedValue("Alpha", "A1", 0.01).run();
38  }
39
40  @Test
41  public void test_MultiplePercentReturnsParseError() {
42    // TODO/HACK: Multiple percent postfixes are allowed in Excel, but not in Google Sheets. Another one for the books.
43    runner().addCell("Alpha", "A1", "= 1%%").addExpectedValue("Alpha", "A1", new ParseException()).run();
44  }
45}