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/GeneralNamedRangeTest.java
-rw-r--r--
3196
 1package io.protobase.f7.spreadsheet;
 2
 3import io.protobase.f7.errors.NameException;
 4import io.protobase.f7.errors.ParseException;
 5import io.protobase.f7.testutils.TestExecution;
 6import org.junit.Ignore;
 7import org.junit.Test;
 8
 9import static com.google.common.truth.Truth.assertThat;
10
11public class GeneralNamedRangeTest extends TestExecution {
12  @Test
13  public void test_AllowedCharacter() {
14    runner()
15        .addNamedRange("Super.Name_Here10Here..Stuff", "Alpha!A1:A1")
16        .addCell("Alpha", "A1", "= 10")
17        .addCell("Alpha", "A2", "= Super.Name_Here10Here..Stuff")
18        .addExpectedValue("Alpha", "A2", 10.0)
19        .run();
20  }
21
22  @Test
23  public void test_NamedRangeGridRequired() {
24    IllegalStateException expected = null;
25    try {
26      runner()
27          .addNamedRange("Super.Name_Here10Here..Stuff", "A1:A1")
28          .addCell("Alpha", "A1", "= 10")
29          .addCell("Alpha", "A2", "= Super.Name_Here10Here..Stuff")
30          .run();
31
32    } catch (IllegalStateException ex) {
33      expected = ex;
34    }
35    assertThat(expected).isNotNull();
36  }
37
38  @Test
39  public void test_Length() {
40    runner()
41        .addCell("Alpha", "A1", "= NamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLong" +
42            "NamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLong" +
43            "NamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLongNamedRangeIsTooLongTooLongOk")
44        .addExpectedValue("Alpha", "A1", new ParseException())
45        .run();
46    runner()
47        .addNamedRange("NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLong" +
48            "NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLong" +
49            "NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongABCDE", "Alpha!A1:A1")
50        .addCell("Alpha", "A1", "= 10")
51        .addCell("Alpha", "A2", "= NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLong" +
52            "NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLong" +
53            "NamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongNamedRangeIsAlmostTooLongABCDE")
54        .addExpectedValue("Alpha", "A1", 10.0)
55        .addExpectedValue("Alpha", "A2", 10.0)
56        .run();
57  }
58
59  @Test
60  public void test_ErrorWhenNotFound() {
61    runner()
62        .addCell("Alpha", "A1", "= NotFoundRange")
63        .addExpectedValue("Alpha", "A1", new NameException())
64        .run();
65  }
66
67  @Test
68  @Ignore
69  public void test_NamedRangeAndRegularRange() {
70    runner()
71        .addNamedRange("MyRange", "Alpha!A1:A4")
72        .addCell("Alpha", "A1", "= 1")
73        .addCell("Alpha", "A2", "= 2")
74        .addCell("Alpha", "A3", "= 3")
75        .addCell("Alpha", "A4", "= 4")
76        .addCell("Alpha", "A5", "= 5")
77        .addCell("Alpha", "A6", "= 6")
78        .addCell("Alpha", "B1", "= SUM(MyRange)")
79        .addCell("Alpha", "B2", "= SUM(MyRange:A6)") // TODO: Fix. MyRange is being parsed as a column by F7.g4
80        .addExpectedValue("Alpha", "B1", 10.0)
81        .addExpectedValue("Alpha", "B2", 26.0)
82        .run();
83  }
84}