OpenFPM  5.2.0
Project that contain the implementation of distributed structures
CSVReader_unit_test.cpp
1 //
2 // Created by jstark on 28.12.21.
3 //
4 #define BOOST_TEST_DYN_LINK
5 #include <boost/test/unit_test.hpp>
6 #include "CSVReader/CSVReader.hpp"
7 
8 BOOST_AUTO_TEST_SUITE(CSVReaderTestSuite)
9 BOOST_AUTO_TEST_CASE(csv_reader_int_test)
10  {
11  std::string csv_file = std::string("test_data/integer.csv");
12  // Read csv file into vector while linearizing
13  openfpm::vector<int> v_lin; // Vector to which csv file will be read to
14  size_t m, n; // Number of rows m and columns n
15 
16  read_csv_to_vector(csv_file, v_lin, m, n);
17 
18  BOOST_CHECK(m == 4);
19  BOOST_CHECK(n == 3);
20  BOOST_CHECK(m * n == v_lin.size());
21 
22  for(int i = 0; i < v_lin.size() / n; ++i)
23  {
24  BOOST_CHECK( v_lin.get(i * n) == i + 1);
25  BOOST_CHECK( v_lin.get(i * n + 1) == (i + 1) * 2);
26  BOOST_CHECK( v_lin.get(i * n + 2) == v_lin.get(i * n) * v_lin.get(i * n + 1));
27  }
28  }
29 
30 
31 BOOST_AUTO_TEST_CASE(csv_reader_char_test)
32  {
33  std::string csv_file = std::string("test_data/char.csv");
34  // Read csv file into vector while linearizing
35  openfpm::vector<std::string> v_lin; // Vector to which csv file will be read to
36  size_t m, n; // Number of rows m and columns n
37 
38  read_csv_to_vector(csv_file, v_lin, m, n);
39 
40  BOOST_CHECK(m == 5);
41  BOOST_CHECK(n == 2);
42  BOOST_CHECK(m * n == v_lin.size());
43 
44  openfpm::vector<std::string> col1 = {"a", "b", "c", "d", "e"};
45  openfpm::vector<std::string> col2 = {"antilope", "ballena", "camel", "dackel", "elefant"};
46 
47  for(int i = 0; i < v_lin.size() / n; ++i)
48  {
49  BOOST_CHECK(col1.get(i) == v_lin.get(i * n));
50  BOOST_CHECK(col2.get(i) == v_lin.get(i * n + 1));
51  }
52 
53  }
54 BOOST_AUTO_TEST_SUITE_END()
size_t size()
Stub size.
Definition: map_vector.hpp:212