diff --git a/src/CSVReader/tests/CSVReader_unit_test.cpp b/src/CSVReader/tests/CSVReader_unit_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d107789603c1ef0a49e1ca7da998fcd4b273cdd0 --- /dev/null +++ b/src/CSVReader/tests/CSVReader_unit_test.cpp @@ -0,0 +1,56 @@ +// +// Created by jstark on 28.12.21. +// +#define BOOST_TEST_DYN_LINK +#include <boost/test/unit_test.hpp> +#include "CSVReader/CSVReader.hpp" + +BOOST_AUTO_TEST_SUITE(CSVReaderTestSuite) +BOOST_AUTO_TEST_CASE(csv_reader_float) + { + // Read csv file into vector while linearizing + const std::string csv_file = "float.csv"; // csv file to be read + openfpm::vector<float> v_lin; // Vector to which csv file will be read to + size_t m, n; // Number of rows m and columns n + + read_csv_to_vector(csv_file, v_lin, m, n); + + BOOST_CHECK(m == 4); + BOOST_CHECK(n == 3); + BOOST_CHECK(m * n == v_lin.size()); + + for(int i = 0; i < v_lin.size() / n; ++i) + { + BOOST_CHECK( v_lin.get(i * n) == i + 1); + BOOST_CHECK( v_lin.get(i * n + 1) == (i + 1) * 2); + BOOST_CHECK( v_lin.get(i * n + 2) == v_lin.get(i * n) * v_lin.get(i * n + 1)); + } + + } + + +BOOST_AUTO_TEST_CASE(csv_reader_char) + { + // Read csv file into vector while linearizing + const std::string csv_file = "char.csv"; // csv file to be read + openfpm::vector<char> v_lin; // Vector to which csv file will be read to + size_t m, n; // Number of rows m and columns n + + read_csv_to_vector(csv_file, v_lin, m, n); + + BOOST_CHECK(m == 5); + BOOST_CHECK(n == 2); + BOOST_CHECK(m * n == v_lin.size()); + + + openfpm::vector<std::string> col1 = {"a", "b", "c", "d", "e"}; + openfpm::vector<std::string> col2 = {"antilope", "ballena", "camel", "dackel", "elefant"}; + + for(int i = 0; i < v_lin.size() / n; ++i) + { + BOOST_CHECK(col1.get(i).compare(v_lin.get(i * n))); + BOOST_CHECK(col2.get(i).compare(v_lin.get(i * n + 1))); + } + + } +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/CSVReader/tests/char.csv b/src/CSVReader/tests/char.csv new file mode 100644 index 0000000000000000000000000000000000000000..91fcfcd53c9450c0816312df0860a464515d6049 --- /dev/null +++ b/src/CSVReader/tests/char.csv @@ -0,0 +1,5 @@ +a,antilope +b,ballena +c,camel +d,dackel +e,elefant \ No newline at end of file diff --git a/src/CSVReader/tests/float.csv b/src/CSVReader/tests/float.csv new file mode 100644 index 0000000000000000000000000000000000000000..26f59ab685209150603a0b8f06eba7a4eb0d03b5 --- /dev/null +++ b/src/CSVReader/tests/float.csv @@ -0,0 +1,4 @@ +1,2,2 +2,4,8 +3,6,18 +4,8,32 \ No newline at end of file