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}