From 2732cd6479e75dd5494616f91ba449d71a232d0f Mon Sep 17 00:00:00 2001 From: Thomas Fussell Date: Sun, 19 Jun 2016 21:06:12 +0100 Subject: [PATCH] finish testing color --- source/cell/tests/test_cell.hpp | 9 ----- source/styles/tests/test_color.hpp | 56 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 source/styles/tests/test_color.hpp diff --git a/source/cell/tests/test_cell.hpp b/source/cell/tests/test_cell.hpp index 75dff653..0dcae423 100644 --- a/source/cell/tests/test_cell.hpp +++ b/source/cell/tests/test_cell.hpp @@ -607,14 +607,5 @@ public: { xlnt::cell cell; TS_ASSERT_EQUALS(cell, nullptr); - - auto ws = wb.create_sheet(); - auto cell2 = ws.get_cell("A1"); -/* - cell2.set_value("test"); - cell = cell2; - - TS_ASSERT_EQUALS(cell.get_value(), "test"); -*/ } }; diff --git a/source/styles/tests/test_color.hpp b/source/styles/tests/test_color.hpp new file mode 100644 index 00000000..b0e11c17 --- /dev/null +++ b/source/styles/tests/test_color.hpp @@ -0,0 +1,56 @@ +#pragma once + +#include +#include + +#include + +class test_color : public CxxTest::TestSuite +{ +public: + void test_known_colors() + { + const std::vector> known_colors + { + { xlnt::color::black(), "ff000000" }, + { xlnt::color::white(), "ffffffff" }, + { xlnt::color::red(), "ffff0000" }, + { xlnt::color::darkred(), "ff8b0000" }, + { xlnt::color::blue(), "ff0000ff" }, + { xlnt::color::darkblue(), "ff00008b" }, + { xlnt::color::green(), "ff00ff00" }, + { xlnt::color::darkgreen(), "ff008b00" }, + { xlnt::color::yellow(), "ffffff00" }, + { xlnt::color::darkyellow(), "ffcccc00" } + }; + + for (auto pair : known_colors) + { + TS_ASSERT_EQUALS(pair.first.get_rgb_string(), pair.second); + } + } + + void test_non_rgb_colors() + { + xlnt::color indexed; + indexed.set_index(1); + TS_ASSERT_EQUALS(indexed.get_index(), 1); + TS_ASSERT_THROWS(indexed.get_auto(), std::runtime_error); + TS_ASSERT_THROWS(indexed.get_theme(), std::runtime_error); + TS_ASSERT_THROWS(indexed.get_rgb_string(), std::runtime_error); + + xlnt::color auto_; + auto_.set_auto(2); + TS_ASSERT_EQUALS(auto_.get_auto(), 2); + TS_ASSERT_THROWS(auto_.get_theme(), std::runtime_error); + TS_ASSERT_THROWS(auto_.get_index(), std::runtime_error); + TS_ASSERT_THROWS(auto_.get_rgb_string(), std::runtime_error); + + xlnt::color theme; + theme.set_theme(3); + TS_ASSERT_EQUALS(theme.get_theme(), 3); + TS_ASSERT_THROWS(theme.get_auto(), std::runtime_error); + TS_ASSERT_THROWS(theme.get_index(), std::runtime_error); + TS_ASSERT_THROWS(theme.get_rgb_string(), std::runtime_error); + } +};