From ecab4595c308b450733e19905789b339a2c4e51b Mon Sep 17 00:00:00 2001 From: vladislavbelov Date: Fri, 7 Oct 2022 23:19:12 +0000 Subject: [PATCH] Merges a duplication of CColor tests files introduced in 2c14d94559. This was SVN commit r27133. --- source/graphics/tests/test_Color.h | 57 ++++++++++++++++++++- source/ps/tests/test_CColor.h | 80 ------------------------------ 2 files changed, 56 insertions(+), 81 deletions(-) delete mode 100644 source/ps/tests/test_CColor.h diff --git a/source/graphics/tests/test_Color.h b/source/graphics/tests/test_Color.h index c138c1c90d..d41e9c6f9f 100644 --- a/source/graphics/tests/test_Color.h +++ b/source/graphics/tests/test_Color.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 Wildfire Games. +/* Copyright (C) 2022 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -38,6 +38,61 @@ public: CheckColor(1, 1, 1, 0xffffff); } + void test_parse() + { + TestLogger nolog; +#define CHECK_CCOLOR_EQUAL(v,r,g,b,a) \ + { \ + CStr str = v; \ + CColor c; \ + TS_ASSERT(c.ParseString(str, 255)); \ + CColor c_(r/255.f,g/255.f,b/255.f,a/255.f); \ + TS_ASSERT_EQUALS(c, c_); \ + } + + CHECK_CCOLOR_EQUAL("0 0 0 0", 0, 0, 0, 0); + CHECK_CCOLOR_EQUAL("255 0 255 0", 255, 0, 255, 0); + CHECK_CCOLOR_EQUAL("0 123 0 0", 0, 123, 0, 0); + CHECK_CCOLOR_EQUAL("0 0 0 55", 0, 0, 0, 55); + CHECK_CCOLOR_EQUAL("76 24 0", 76, 24, 0, 255); + CHECK_CCOLOR_EQUAL("159 98 24", 159, 98, 24, 255); +#undef CHECK_CCOLOR_EQUAL + } + + void test_parse_failure() + { + TestLogger nolog; + +#define CHECK_CCOLOR_FAIL(v) \ + { \ + CStr str = v; \ + CColor a; \ + TS_ASSERT(!a.ParseString(str, 255)); \ + } + + CHECK_CCOLOR_FAIL("abc"); + CHECK_CCOLOR_FAIL("0.123 1 2 3"); + CHECK_CCOLOR_FAIL("0 0 0 0 adfasd"); + CHECK_CCOLOR_FAIL("0 a0 b0 ax"); + CHECK_CCOLOR_FAIL("-124dsaf"); + CHECK_CCOLOR_FAIL("\0"); + CHECK_CCOLOR_FAIL("1 2 xxxx"); + + // Not enough parameters + CHECK_CCOLOR_FAIL(""); + CHECK_CCOLOR_FAIL("124"); + CHECK_CCOLOR_FAIL("0 55"); + + // More parameters than allowed + CHECK_CCOLOR_FAIL("0 5 1 5 6"); + + // Out of bounds + CHECK_CCOLOR_FAIL("-1 0 0"); + CHECK_CCOLOR_FAIL("256 0 0 0"); + CHECK_CCOLOR_FAIL("255 256 -1 0"); +#undef CHECK_CCLOLO_FAIL + } + private: void CheckColor(int r, int g, int b, u32 expected) { diff --git a/source/ps/tests/test_CColor.h b/source/ps/tests/test_CColor.h deleted file mode 100644 index 0b9a1ffb80..0000000000 --- a/source/ps/tests/test_CColor.h +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright (C) 2019 Wildfire Games. - * This file is part of 0 A.D. - * - * 0 A.D. is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 0 A.D. is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with 0 A.D. If not, see . - */ - -#include "lib/self_test.h" - -#include "graphics/Color.h" -#include "ps/CLogger.h" - -class TestCColor : public CxxTest::TestSuite -{ -public: - void test_parse() - { - TestLogger nolog; -#define CHECK_CCOLOR_EQUAL(v,r,g,b,a) \ - { \ - CStr str = v; \ - CColor c; \ - TS_ASSERT(c.ParseString(str, 255)); \ - CColor c_(r/255.f,g/255.f,b/255.f,a/255.f); \ - TS_ASSERT_EQUALS(c, c_); \ - } - - CHECK_CCOLOR_EQUAL("0 0 0 0", 0, 0, 0, 0); - CHECK_CCOLOR_EQUAL("255 0 255 0", 255, 0, 255, 0); - CHECK_CCOLOR_EQUAL("0 123 0 0", 0, 123, 0, 0); - CHECK_CCOLOR_EQUAL("0 0 0 55", 0, 0, 0, 55); - CHECK_CCOLOR_EQUAL("76 24 0", 76, 24, 0, 255); - CHECK_CCOLOR_EQUAL("159 98 24", 159, 98, 24, 255); -#undef CHECK_CCOLOR_EQUAL - } - - void test_parse_failure() - { - TestLogger nolog; - -#define CHECK_CCOLOR_FAIL(v) \ - { \ - CStr str = v; \ - CColor a; \ - TS_ASSERT(!a.ParseString(str, 255)); \ - } - - CHECK_CCOLOR_FAIL("abc"); - CHECK_CCOLOR_FAIL("0.123 1 2 3"); - CHECK_CCOLOR_FAIL("0 0 0 0 adfasd"); - CHECK_CCOLOR_FAIL("0 a0 b0 ax"); - CHECK_CCOLOR_FAIL("-124dsaf"); - CHECK_CCOLOR_FAIL("\0"); - CHECK_CCOLOR_FAIL("1 2 xxxx"); - - // Not enough parameters - CHECK_CCOLOR_FAIL(""); - CHECK_CCOLOR_FAIL("124"); - CHECK_CCOLOR_FAIL("0 55"); - - // More parameters than allowed - CHECK_CCOLOR_FAIL("0 5 1 5 6"); - - // Out of bounds - CHECK_CCOLOR_FAIL("-1 0 0"); - CHECK_CCOLOR_FAIL("256 0 0 0"); - CHECK_CCOLOR_FAIL("255 256 -1 0"); -#undef CHECK_CCLOLO_FAIL - } -};