This project has retired. For details please refer to its
Attic page.
CSVExtractorTest xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.extractor.csv;
19
20 import org.apache.any23.extractor.ExtractorFactory;
21 import org.apache.any23.extractor.html.AbstractExtractorTestCase;
22 import org.apache.any23.vocab.CSV;
23 import org.junit.Test;
24 import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
25 import org.eclipse.rdf4j.model.vocabulary.RDF;
26 import org.eclipse.rdf4j.model.vocabulary.XMLSchema;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30
31
32
33
34
35 public class CSVExtractorTest extends AbstractExtractorTestCase {
36
37 private static final Logger logger = LoggerFactory.getLogger(CSVExtractorTest.class);
38
39 @Override
40 protected ExtractorFactory<?> getExtractorFactory() {
41 return new CSVExtractorFactory();
42 }
43
44 @Test
45 public void testExtractionCommaSeparated() throws Exception {
46 CSV csv = CSV.getInstance();
47 assertExtract("/org/apache/any23/extractor/csv/test-comma.csv");
48 logger.debug(dumpModelToRDFXML());
49
50 assertModelNotEmpty();
51 assertStatementsSize(null, null, null, 28);
52 assertStatementsSize(null, RDF.TYPE, csv.rowType, 3);
53 assertContains(null, csv.numberOfColumns,
54 SimpleValueFactory.getInstance().createLiteral("4", XMLSchema.INTEGER));
55 assertContains(null, csv.numberOfRows, SimpleValueFactory.getInstance().createLiteral("3", XMLSchema.INTEGER));
56 }
57
58 @Test
59 public void testExtractionSemicolonSeparated() throws Exception {
60 CSV csv = CSV.getInstance();
61 assertExtract("/org/apache/any23/extractor/csv/test-semicolon.csv");
62 logger.debug(dumpModelToRDFXML());
63
64 assertModelNotEmpty();
65 assertStatementsSize(null, null, null, 28);
66 assertStatementsSize(null, RDF.TYPE, csv.rowType, 3);
67 assertContains(null, csv.numberOfColumns,
68 SimpleValueFactory.getInstance().createLiteral("4", XMLSchema.INTEGER));
69 assertContains(null, csv.numberOfRows, SimpleValueFactory.getInstance().createLiteral("3", XMLSchema.INTEGER));
70 }
71
72 @Test
73 public void testExtractionTabSeparated() throws Exception {
74 CSV csv = CSV.getInstance();
75 assertExtract("/org/apache/any23/extractor/csv/test-tab.csv");
76 logger.debug(dumpModelToRDFXML());
77
78 assertModelNotEmpty();
79 assertStatementsSize(null, null, null, 28);
80 assertStatementsSize(null, RDF.TYPE, csv.rowType, 3);
81 assertContains(null, csv.numberOfColumns,
82 SimpleValueFactory.getInstance().createLiteral("4", XMLSchema.INTEGER));
83 assertContains(null, csv.numberOfRows, SimpleValueFactory.getInstance().createLiteral("3", XMLSchema.INTEGER));
84 }
85
86 @Test
87 public void testTypeManagement() throws Exception {
88 CSV csv = CSV.getInstance();
89 assertExtract("/org/apache/any23/extractor/csv/test-type.csv");
90 logger.debug(dumpModelToRDFXML());
91
92 assertModelNotEmpty();
93 assertStatementsSize(null, null, null, 21);
94 assertStatementsSize(null, RDF.TYPE, csv.rowType, 3);
95 assertContains(null, csv.numberOfColumns,
96 SimpleValueFactory.getInstance().createLiteral("2", XMLSchema.INTEGER));
97 assertContains(null, csv.numberOfRows, SimpleValueFactory.getInstance().createLiteral("3", XMLSchema.INTEGER));
98 assertContains(null, null, SimpleValueFactory.getInstance().createLiteral("5.2", XMLSchema.FLOAT));
99 assertContains(null, null, SimpleValueFactory.getInstance().createLiteral("7.9", XMLSchema.FLOAT));
100 assertContains(null, null, SimpleValueFactory.getInstance().createLiteral("10", XMLSchema.INTEGER));
101 }
102
103 @Test
104 public void testExtractionEmptyValue() throws Exception {
105 CSV csv = CSV.getInstance();
106 assertExtract("/org/apache/any23/extractor/csv/test-missing.csv");
107 logger.debug(dumpModelToRDFXML());
108
109 assertModelNotEmpty();
110 assertStatementsSize(null, null, null, 25);
111 assertStatementsSize(null, RDF.TYPE, csv.rowType, 3);
112 assertContains(null, csv.numberOfColumns,
113 SimpleValueFactory.getInstance().createLiteral("4", XMLSchema.INTEGER));
114 assertContains(null, csv.numberOfRows, SimpleValueFactory.getInstance().createLiteral("3", XMLSchema.INTEGER));
115 assertContains(null, null, SimpleValueFactory.getInstance().createLiteral("Michele", XMLSchema.STRING));
116 assertContains(null, null, SimpleValueFactory.getInstance().createLiteral("Giovanni", XMLSchema.STRING));
117 }
118
119 }