package com.Ostermiller.util;
import java.io.*;
class LabeledCSVParserTests {
public static void main(String[] args){
try {
test01();
test02();
test03();
} catch (Exception x){
x.printStackTrace();
System.exit(1);
}
}
private static void test01() throws Exception {
LabeledCSVParser parse = new LabeledCSVParser(
new CSVParser(
new StringReader(
""
)
)
);
if (parse.getLine() != null){
throw new Exception("Expected null from getLine()");
}
if (parse.getLabels() != null){
throw new Exception("Expected null from getLabels()");
}
if (parse.getLastLineNumber() != -1){
throw new Exception("Expected -1 from getLastLineNumber()");
}
parse.close();
}
private static void test02() throws Exception {
LabeledCSVParser parse = new LabeledCSVParser(
new CSVParser(
new StringReader(
"FIELD01,FIELD02,FIELD03"
)
)
);
if (parse.getLine() != null){
throw new Exception("Expected null from getLine()");
}
String[] labels = parse.getLabels();
if (labels.length != 3 || !"FIELD01".equals(labels[0]) || !"FIELD02".equals(labels[1]) || !"FIELD03".equals(labels[2])){
throw new Exception("Didn't get expected labels.");
}
if (parse.getLastLineNumber() != -1){
throw new Exception("Expected -1 from getLastLineNumber()");
}
parse.close();
}
private static void test03() throws Exception {
LabeledCSVParser parse = new LabeledCSVParser(
new CSVParser(
new StringReader(
"FIELD01,FIELD02,FIELD03\n" +
"9.23,\"FOO\",\"BAR\"\n" +
"10.5,\"BAZ\",\"FOO2\"\n"
)
)
);
String[] labels = parse.getLabels();
if (labels.length != 3 || !"FIELD01".equals(labels[0]) || !"FIELD02".equals(labels[1]) || !"FIELD03".equals(labels[2])){
throw new Exception("Didn't get expected labels.");
}
if (parse.getLabelIdx("FIELD01") != 0){
throw new Exception("FIELD01 expected index of zero");
}
if (parse.getLabelIdx("FIELD02") != 1){
throw new Exception("FIELD02 expected index of one");
}
if (parse.getLabelIdx("FIELD03") != 2){
throw new Exception("FIELD03 expected index of two");
}
if (parse.getLabelIdx("FIELD04") != -1){
throw new Exception("FIELD04 expected not to be present");
}
if (parse.getValueByLabel("FIELD01") != null){
throw new Exception("Line not yet read, expected value of FIELD01 to be null.");
}
String[] line = parse.getLine();
if (line == null){
throw new Exception("getLine() null on line 1");
}
if (parse.getLastLineNumber() != 1){
throw new Exception("Expected 1 from getLastLineNumber()");
}
if (line.length != 3 || !"9.23".equals(line[0]) || !"FOO".equals(line[1]) || !"BAR".equals(line[2])){
throw new Exception("Didn't get expected line.");
}
if (!"9.23".equals(parse.getValueByLabel("FIELD01"))){
throw new Exception("FIELD01 expected to have value 9.23.");
}
String value = parse.nextValue();
if (!"10.5".equals(value)){
throw new Exception("Expected nextValue to return 10.5.");
}
try {
parse.getValueByLabel("FIELD01");
throw new Exception("IllegalStateException expected");
} catch (IllegalStateException iex){
}
if (parse.getLastLineNumber() != 2){
throw new Exception("Expected 2 from getLastLineNumber()");
}
line = parse.getLine();
if (line == null){
throw new Exception("getLine() null on line 2");
}
if (parse.getLastLineNumber() != 2){
throw new Exception("Expected 2 from getLastLineNumber()");
}
if (line.length != 2 || !"BAZ".equals(line[0]) || !"FOO2".equals(line[1])){
throw new Exception("Didn't get expected line.");
}
try {
parse.getValueByLabel("FIELD01");
throw new Exception("IllegalStateException expected");
} catch (IllegalStateException iex){
}
if (parse.getLine() != null){
throw new Exception("Expected null from getLine()");
}
parse.close();
}
}