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/GeneralProjectionTest.java
-rw-r--r--
4206
  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 GeneralProjectionTest extends TestExecution {
  8  @Test
  9  public void test_RowSizeOne() {
 10    runner()
 11        .addCell("Alpha", "A1", "= {1}")
 12        .addExpectedValue("Alpha", "A1", 1.0)
 13        .run();
 14  }
 15
 16  @Test
 17  public void test_RowSizeTwo() {
 18    runner()
 19        .addCell("Alpha", "A1", "= {1, 2}")
 20        .addExpectedValue("Alpha", "A1", 1.0)
 21        .addExpectedValue("Alpha", "B1", 2.0)
 22        .run();
 23  }
 24
 25  @Test
 26  public void test_RowSizeN() {
 27    runner()
 28        .addCell("Alpha", "A1", "= {1, 2, 3, 4, 5, 6}")
 29        .addExpectedValue("Alpha", "A1", 1.0)
 30        .addExpectedValue("Alpha", "B1", 2.0)
 31        .addExpectedValue("Alpha", "C1", 3.0)
 32        .addExpectedValue("Alpha", "D1", 4.0)
 33        .addExpectedValue("Alpha", "E1", 5.0)
 34        .run();
 35  }
 36
 37  @Test
 38  public void test_ColumnSizeOne() {
 39    runner()
 40        .addCell("Alpha", "A1", "= {1}")
 41        .addExpectedValue("Alpha", "A1", 1.0)
 42        .run();
 43  }
 44
 45  @Test
 46  public void test_ColumnSizeTwo() {
 47    runner()
 48        .addCell("Alpha", "A1", "= {1;2}")
 49        .addExpectedValue("Alpha", "A1", 1.0)
 50        .addExpectedValue("Alpha", "A2", 2.0)
 51        .run();
 52  }
 53
 54  @Test
 55  public void test_ColumnSizeN() {
 56    runner()
 57        .addCell("Alpha", "A1", "= {1;2;3;4;5;6}")
 58        .addExpectedValue("Alpha", "A1", 1.0)
 59        .addExpectedValue("Alpha", "A2", 2.0)
 60        .addExpectedValue("Alpha", "A3", 3.0)
 61        .addExpectedValue("Alpha", "A4", 4.0)
 62        .addExpectedValue("Alpha", "A5", 5.0)
 63        .addExpectedValue("Alpha", "A6", 6.0)
 64        .run();
 65  }
 66
 67  @Test
 68  public void test_ColumnAndRow_FullGrid_ColumnByRow() {
 69    runner()
 70        .addCell("Alpha", "A1", "= {{1;2;3},{4;5;6},{7;8;9}}")
 71        .addExpectedValue("Alpha", "A1", 1.0)
 72        .addExpectedValue("Alpha", "A2", 2.0)
 73        .addExpectedValue("Alpha", "A3", 3.0)
 74        .addExpectedValue("Alpha", "B1", 4.0)
 75        .addExpectedValue("Alpha", "B2", 5.0)
 76        .addExpectedValue("Alpha", "B3", 6.0)
 77        .addExpectedValue("Alpha", "C1", 7.0)
 78        .addExpectedValue("Alpha", "C2", 8.0)
 79        .addExpectedValue("Alpha", "c3", 9.0)
 80        .run();
 81  }
 82
 83  @Test
 84  public void test_ColumnAndRow_FullGrid_RowByColumn() {
 85    runner()
 86        .addCell("Alpha", "A1", "= {{1,2,3};{4,5,6};{7,8,9}}")
 87        .addExpectedValue("Alpha", "A1", 1.0)
 88        .addExpectedValue("Alpha", "A2", 4.0)
 89        .addExpectedValue("Alpha", "A3", 7.0)
 90        .addExpectedValue("Alpha", "B1", 2.0)
 91        .addExpectedValue("Alpha", "B2", 5.0)
 92        .addExpectedValue("Alpha", "B3", 8.0)
 93        .addExpectedValue("Alpha", "C1", 3.0)
 94        .addExpectedValue("Alpha", "C2", 6.0)
 95        .addExpectedValue("Alpha", "c3", 9.0)
 96        .run();
 97  }
 98
 99  @Test
100  public void test_RangeProjection() {
101    runner()
102        .addCell("Alpha", "A1", "= 11.1")
103        .addCell("Alpha", "A2", "= 22.2")
104        .addCell("Alpha", "A3", "= 33.3")
105        .addCell("Alpha", "M1", "= {A1:A3}")
106        .addExpectedValue("Alpha", "M1", 11.1)
107        .addExpectedValue("Alpha", "M2", 22.2)
108        .addExpectedValue("Alpha", "M3", 33.3)
109        .run();
110  }
111
112  @Test
113  public void test_RefErrorProjectionIntoExistingValues() {
114    runner()
115        .addCell("Alpha", "A1", "= {1, 2}")
116        .addCell("Alpha", "B1", "= \"Don't tread on me.\"")
117        .addExpectedValue("Alpha", "A1", new RefException())
118        .addExpectedValue("Alpha", "B1", "Don't tread on me.")
119        .run();
120    runner()
121        .addCell("Alpha", "A1", "= {{1,2,3};{4,5,6};{7,8,9}}")
122        .addCell("Alpha", "B2", "= \"Don't tread on me.\"")
123        .addExpectedValue("Alpha", "A1", new RefException())
124        .addExpectedEmptyValue("Alpha", "A2")
125        .addExpectedEmptyValue("Alpha", "A3")
126        .addExpectedEmptyValue("Alpha", "B1")
127        .addExpectedValue("Alpha", "B2", "Don't tread on me.")
128        .addExpectedEmptyValue("Alpha", "B3")
129        .addExpectedEmptyValue("Alpha", "C1")
130        .addExpectedEmptyValue("Alpha", "C2")
131        .addExpectedEmptyValue("Alpha", "c3")
132        .run();
133  }
134}