aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorJames Ahlborn <jtahlborn@yahoo.com>2014-09-16 02:34:51 +0000
committerJames Ahlborn <jtahlborn@yahoo.com>2014-09-16 02:34:51 +0000
commita9607826269664210d4d5040f1b3505074837087 (patch)
tree4edc4fb35687da08e7ba04ab91aa7acfce143954 /src/test
parent6daeb346299aada5c174dbe9d9be2933f0012830 (diff)
downloadjackcess-a9607826269664210d4d5040f1b3505074837087.tar.gz
jackcess-a9607826269664210d4d5040f1b3505074837087.zip
fix creation of calculated fields
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@876 f203690c-595d-4dc9-a70b-905162fa7fd2
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/healthmarketscience/jackcess/impl/CalcFieldTest.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/test/java/com/healthmarketscience/jackcess/impl/CalcFieldTest.java b/src/test/java/com/healthmarketscience/jackcess/impl/CalcFieldTest.java
index d230cba..26b2390 100644
--- a/src/test/java/com/healthmarketscience/jackcess/impl/CalcFieldTest.java
+++ b/src/test/java/com/healthmarketscience/jackcess/impl/CalcFieldTest.java
@@ -20,6 +20,7 @@ USA
package com.healthmarketscience.jackcess.impl;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -75,11 +76,19 @@ public class CalcFieldTest extends TestCase
.addColumn(new ColumnBuilder("id", DataType.LONG)
.setAutoNumber(true))
.addColumn(new ColumnBuilder("data", DataType.TEXT))
- .addColumn(new ColumnBuilder("calc_data", DataType.TEXT)
+ .addColumn(new ColumnBuilder("calc_text", DataType.TEXT)
.setCalculatedInfo("[id] & \"_\" & [data]"))
+ .addColumn(new ColumnBuilder("calc_memo", DataType.MEMO)
+ .setCalculatedInfo("[id] & \"_\" & [data]"))
+ .addColumn(new ColumnBuilder("calc_bool", DataType.BOOLEAN)
+ .setCalculatedInfo("[id] > 0"))
+ .addColumn(new ColumnBuilder("calc_long", DataType.LONG)
+ .setCalculatedInfo("[id] + 1"))
+ .addColumn(new ColumnBuilder("calc_numeric", DataType.NUMERIC)
+ .setCalculatedInfo("[id] / 0.03"))
.toTable(db);
- Column col = t.getColumn("calc_data");
+ Column col = t.getColumn("calc_text");
assertTrue(col.isCalculated());
assertEquals("[id] & \"_\" & [data]", col.getProperties().getValue(
PropertyMap.EXPRESSION_PROP));
@@ -87,14 +96,31 @@ public class CalcFieldTest extends TestCase
col.getProperties().getValue(
PropertyMap.RESULT_TYPE_PROP));
- t.addRow(Column.AUTO_NUMBER, "foo", "1_foo");
+ String longStr = createString(1000);
+ BigDecimal bd1 = new BigDecimal("-1234.5678");
+ BigDecimal bd2 = new BigDecimal("0.0234");
+
+ t.addRow(Column.AUTO_NUMBER, "foo", "1_foo", longStr, true, 2, bd1);
+ t.addRow(Column.AUTO_NUMBER, "bar", "2_bar", longStr, false, -37, bd2);
List<? extends Map<String, Object>> expectedRows =
createExpectedTable(
createExpectedRow(
"id", 1,
"data", "foo",
- "calc_data", "1_foo"));
+ "calc_text", "1_foo",
+ "calc_memo", longStr,
+ "calc_bool", true,
+ "calc_long", 2,
+ "calc_numeric", bd1),
+ createExpectedRow(
+ "id", 2,
+ "data", "bar",
+ "calc_text", "2_bar",
+ "calc_memo", longStr,
+ "calc_bool", false,
+ "calc_long", -37,
+ "calc_numeric", bd2));
assertTable(expectedRows, t);