From a5fcc98115526de01d9bf4fd9da72b6cdf640467 Mon Sep 17 00:00:00 2001 From: Richard Schmidt <richard.schmidt@mailbox.tu-dresden.de> Date: Sun, 11 Aug 2019 13:40:35 +0200 Subject: [PATCH] Test CsvXAlignedParser --- .../csvparser/CsvXAlignedParser.java | 2 +- .../csvparser/CsvXAlignedParserTest.java | 108 +++++++++++++++--- 2 files changed, 93 insertions(+), 17 deletions(-) diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParser.java b/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParser.java index 8f5a775e..c966203d 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParser.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParser.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Objects; /** - * Parser for CSV files with aligned mX-values. Inherits from CsvParseAlgorithm. + * Parser for CSV files with aligned X-values. Inherits from CsvParseAlgorithm. * @author SVGPlott-Team, Georg Graßnick * @version 2019.07.29 */ diff --git a/src/test/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParserTest.java b/src/test/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParserTest.java index 3777b8c9..f8acb109 100644 --- a/src/test/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParserTest.java +++ b/src/test/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedParserTest.java @@ -2,31 +2,107 @@ package de.tudresden.inf.mci.brailleplot.csvparser; import de.tudresden.inf.mci.brailleplot.datacontainers.PointList; import de.tudresden.inf.mci.brailleplot.datacontainers.PointListContainer; +import de.tudresden.inf.mci.brailleplot.point.Point2DDouble; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.Iterator; import java.util.List; public class CsvXAlignedParserTest { -/* - CsvXAlignedParser parser = new CsvXAlignedParser(); - List<? extends List<String>> csvDataHorizontal = ; - List<? extends List<String>> csvDataVertical = ; - PointListContainer<PointList> resultHorizontal = ; - PointListContainer<PointList> resultVertical = ; - @Test - public void testHorizontalParsing () { - Assertions.assertEquals(resultHorizontal, () -> { - parser.parseAsHorizontalDataSets(csvDataHorizontal); - }); + public static CsvParser parser; + + @BeforeAll + public static void initialize() { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + InputStream csvStream = classloader.getResourceAsStream("examples/csv/0_bar_chart.csv"); + Reader csvReader = new BufferedReader(new InputStreamReader(csvStream)); + try { + parser = new CsvParser(csvReader, ',', '\"'); + } catch (Exception e) { + + } + } @Test - public void testVerticalParsing () { - Assertions.assertEquals(resultVertical, () -> { - parser.parseAsHorizontalDataSets(csvDataVertical); - }); + public void testVerticalParsing() { + PointListContainer<PointList> container = parser.parse(CsvType.X_ALIGNED, CsvOrientation.VERTICAL); + Iterator containerIt = container.iterator(); + PointList list_1 = (PointList) containerIt.next(); + Assertions.assertEquals(list_1.getName(), "a"); + + Iterator it = list_1.getListIterator(); + + Point2DDouble point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 1.0); + + PointList list_2 = (PointList) containerIt.next(); + Assertions.assertEquals(list_2.getName(), "b"); + + it = list_2.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 2.2); + + PointList list_3 = (PointList) containerIt.next(); + Assertions.assertEquals(list_3.getName(), "c"); + + it = list_3.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 3.0); + + PointList list_4 = (PointList) containerIt.next(); + Assertions.assertEquals(list_4.getName(), "d"); + + it = list_4.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 4.4); + + PointList list_5 = (PointList) containerIt.next(); + Assertions.assertEquals(list_5.getName(), "e"); + + it = list_5.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 5.0); + + PointList list_6 = (PointList) containerIt.next(); + Assertions.assertEquals(list_6.getName(), "f"); + + it = list_6.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 6.0); + + PointList list_7 = (PointList) containerIt.next(); + Assertions.assertEquals(list_7.getName(), "g"); + + it = list_7.getListIterator(); + + point = (Point2DDouble) it.next(); + Assertions.assertEquals(point.getX(), 0.0); + Assertions.assertEquals(point.getY(), 7.0); + + } +/* + @Test + public void testHorizontalParsing() { + } - */ +*/ } -- GitLab