diff options
author | James Ahlborn <jtahlborn@yahoo.com> | 2014-09-16 02:34:51 +0000 |
---|---|---|
committer | James Ahlborn <jtahlborn@yahoo.com> | 2014-09-16 02:34:51 +0000 |
commit | a9607826269664210d4d5040f1b3505074837087 (patch) | |
tree | 4edc4fb35687da08e7ba04ab91aa7acfce143954 /src/test | |
parent | 6daeb346299aada5c174dbe9d9be2933f0012830 (diff) | |
download | jackcess-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.java | 34 |
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); |