You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2014/07/16 23:33:13 UTC
git commit: Enhanced unittest to assert behaviour around handling
empty files and creating tables in them
Repository: incubator-metamodel
Updated Branches:
refs/heads/master e2a845b76 -> c272bea3d
Enhanced unittest to assert behaviour around handling empty files and
creating tables in them
Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/c272bea3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/c272bea3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/c272bea3
Branch: refs/heads/master
Commit: c272bea3d80628a3a68f97498ff59f2631f01f0e
Parents: e2a845b
Author: Kasper Sørensen <i....@gmail.com>
Authored: Wed Jul 16 23:32:07 2014 +0200
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Wed Jul 16 23:32:07 2014 +0200
----------------------------------------------------------------------
.../metamodel/csv/CsvDataContextTest.java | 37 +++++++++++++++++---
1 file changed, 32 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/c272bea3/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
----------------------------------------------------------------------
diff --git a/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java b/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
index 18160ee..7a53723 100644
--- a/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
+++ b/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
@@ -56,13 +56,40 @@ public class CsvDataContextTest extends TestCase {
private final CsvConfiguration semicolonConfiguration = new CsvConfiguration(
CsvConfiguration.DEFAULT_COLUMN_NAME_LINE, "UTF-8", ';', '\'', CsvConfiguration.DEFAULT_ESCAPE_CHAR);
- public void testEmptyFile() throws Exception {
- DataContext dc = new CsvDataContext(new File("src/test/resources/empty_file.csv"));
+ public void testEmptyFileTableCreation() throws Exception {
+ final File file = new File("target/empty_file.csv");
+ FileHelper.copy(new File("src/test/resources/empty_file.csv"), file);
+
+ final CsvDataContext dc = new CsvDataContext(file);
assertEquals(1, dc.getDefaultSchema().getTableCount());
- Table table = dc.getDefaultSchema().getTables()[0];
- assertEquals("empty_file.csv", table.getName());
- assertEquals(0, table.getColumnCount());
+ final Table table1 = dc.getDefaultSchema().getTables()[0];
+ assertEquals("empty_file.csv", table1.getName());
+ assertEquals(0, table1.getColumnCount());
+
+ dc.executeUpdate(new UpdateScript() {
+ @Override
+ public void run(UpdateCallback callback) {
+ callback.dropTable(dc.getDefaultSchema().getTable(0)).execute();
+ callback.createTable(dc.getDefaultSchema(), "newtable1").withColumn("foo").withColumn("bar").execute();
+ }
+ });
+
+ assertEquals("\"foo\",\"bar\"", FileHelper.readFileAsString(file));
+
+ dc.executeUpdate(new UpdateScript() {
+ @Override
+ public void run(UpdateCallback callback) {
+ // fire additional create table statements
+ callback.createTable(dc.getDefaultSchema(), "newtable2").withColumn("foo").withColumn("bar").execute();
+ callback.createTable(dc.getDefaultSchema(), "newtable3").withColumn("bar").withColumn("baz").execute();
+ }
+ });
+
+ assertEquals("\"bar\",\"baz\"", FileHelper.readFileAsString(file));
+
+ // still the table count should only be 1
+ assertEquals(1, dc.getDefaultSchema().getTableCount());
}
public void testAppendToFileWithoutLineBreak() throws Exception {