/*
* Copyright (c) 2015 Astron Informatikai Kft.
*
*/
package airportsimulation.utils;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;
/**
*
* @author tothm
*/
public class CsvParserTest {
@Test
public void shouldGetFields() throws IOException, CsvParserException {
String fileContent = ""
+ "42;3.14;\n"
+ "lorem;ipsum;";
InputStream inputStream = new ByteArrayInputStream(fileContent.getBytes());
CsvParser parser = new CsvParser(inputStream);
assertThat(parser.hasNextField(), is(true));
assertThat(parser.getNextField(), is("42"));
assertThat(parser.hasNextField(), is(true));
assertThat(parser.getNextField(), is("3.14"));
assertThat(parser.hasNextField(), is(true));
assertThat(parser.getNextField(), is("lorem"));
assertThat(parser.hasNextField(), is(true));
assertThat(parser.getNextField(), is("ipsum"));
assertThat(parser.hasNextField(), is(false));
}
@Test
public void shouldGetFieldsByLines() throws IOException, CsvParserException {
String fileContent = ""
+ "42;3.14;\n"
+ "lorem;ipsum;";
InputStream inputStream = new ByteArrayInputStream(fileContent.getBytes());
CsvParser parser = new CsvParser(inputStream);
assertThat(parser.hasNextLine(), is(true));
assertThat(parser.hasFieldInCurrentLine(), is(true));
assertThat(parser.getFieldFromCurrentLine(), is("42"));
assertThat(parser.hasFieldInCurrentLine(), is(true));
assertThat(parser.getFieldFromCurrentLine(), is("3.14"));
assertThat(parser.hasFieldInCurrentLine(), is(false));
parser.nextLine();
assertThat(parser.hasNextLine(), is(true));
assertThat(parser.hasFieldInCurrentLine(), is(true));
assertThat(parser.getFieldFromCurrentLine(), is("lorem"));
assertThat(parser.hasFieldInCurrentLine(), is(true));
assertThat(parser.getFieldFromCurrentLine(), is("ipsum"));
assertThat(parser.hasFieldInCurrentLine(), is(false));
parser.nextLine();
assertThat(parser.hasNextLine(), is(false));
}
}