tests: unit: csv: add 'write_csv' suite
The disabled tests are expected failures (which GTest does not support), once fixed they will be enabled.
This commit is contained in:
parent
3539cd4a34
commit
6ee4e5b554
|
@ -1,6 +1,9 @@
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include "csv/read-csv.hh"
|
#include "csv/read-csv.hh"
|
||||||
|
#include "csv/write-csv.hh"
|
||||||
|
|
||||||
// Allow namespace pollution in tests for convenience
|
// Allow namespace pollution in tests for convenience
|
||||||
using namespace kraken::csv;
|
using namespace kraken::csv;
|
||||||
|
@ -36,3 +39,32 @@ TEST(read_csv, single_line_with_header) {
|
||||||
};
|
};
|
||||||
ASSERT_EQ(read_csv("a,b,c\n1,2,3", CsvHeader::KEEP), expected);
|
ASSERT_EQ(read_csv("a,b,c\n1,2,3", CsvHeader::KEEP), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(write_csv, empty) {
|
||||||
|
auto const csv = csv_type{};
|
||||||
|
auto const expected = "";
|
||||||
|
auto output = std::ostringstream{};
|
||||||
|
write_csv(output, csv);
|
||||||
|
ASSERT_EQ(output.str(), expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(write_csv, DISABLED_single_line) {
|
||||||
|
auto const csv = csv_type{
|
||||||
|
{"a", "b", "c"},
|
||||||
|
};
|
||||||
|
auto const expected = "a,b,c\n";
|
||||||
|
auto output = std::ostringstream{};
|
||||||
|
write_csv(output, csv);
|
||||||
|
ASSERT_EQ(output.str(), expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(write_csv, DISABLED_multiple_lines) {
|
||||||
|
auto const csv = csv_type{
|
||||||
|
{"a", "b", "c"},
|
||||||
|
{"1", "2", "3"},
|
||||||
|
};
|
||||||
|
auto const expected = "a,b,c\n1,2,3\n";
|
||||||
|
auto output = std::ostringstream{};
|
||||||
|
write_csv(output, csv);
|
||||||
|
ASSERT_EQ(output.str(), expected);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue