MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / main

Function main

tests/test_colour.cpp:8–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6using namespace OpenApoc;
7
8int main(int argc, char **argv)
9{
10 if (config().parseOptions(argc, argv))
11 {
12 return EXIT_FAILURE;
13 }
14
15 std::list<Colour> expected{{255, 255, 255}, {192, 192, 192}, {128, 128, 128}, {0, 0, 0},
16 {255, 0, 0}, {128, 0, 0}, {255, 255, 0}, {128, 128, 0},
17 {0, 255, 0}, {0, 128, 0}, {0, 255, 255}, {0, 128, 128},
18 {0, 0, 255}, {0, 0, 128}, {255, 0, 255}, {128, 0, 128}};
19
20 std::list<Colour> name_parsed{Colour::FromHtmlName("WhItE"), Colour::FromHtmlName("SiLvEr"),
21 Colour::FromHtmlName("GrAy"), Colour::FromHtmlName("bLaCk"),
22 Colour::FromHtmlName("rEd"), Colour::FromHtmlName("mArOoN"),
23 Colour::FromHtmlName("yEllOw"), Colour::FromHtmlName("Olive"),
24 Colour::FromHtmlName("LiMe"), Colour::FromHtmlName("GrEEn"),
25 Colour::FromHtmlName("Aqua"), Colour::FromHtmlName("Teal"),
26 Colour::FromHtmlName("Blue"), Colour::FromHtmlName("NavY"),
27 Colour::FromHtmlName("FuchSIA"), Colour::FromHtmlName("Purple")};
28
29 std::list<Colour> hex_parsed{
30 Colour::FromHex("#fff"), Colour::FromHex("#C0C0C0"), Colour::FromHex("#808080"),
31 Colour::FromHex("#000"), Colour::FromHex("#f00"), Colour::FromHex("#800000"),
32 Colour::FromHex("#ff0"), Colour::FromHex("#808000"), Colour::FromHex("#0f0"),
33 Colour::FromHex("#008000"), Colour::FromHex("#0ff"), Colour::FromHex("#008080"),
34 Colour::FromHex("#00f"), Colour::FromHex("#000080"), Colour::FromHex("#f0f"),
35 Colour::FromHex("#800080")};
36
37 auto it_expected = expected.begin();
38 auto it_test = name_parsed.begin();
39 while (it_expected != expected.end() && it_test != name_parsed.end())
40 {
41 if (*it_expected != *it_test)
42 {
43 LogError("Colour parsing by name mismatch: expected (%d, %d, %d), got (%d, %d, %d)",
44 it_expected->r, it_expected->g, it_expected->b, it_test->r, it_test->g,
45 it_test->b);
46 return EXIT_FAILURE;
47 }
48 ++it_expected;
49 ++it_test;
50 }
51
52 it_expected = expected.begin();
53 it_test = hex_parsed.begin();
54 while (it_expected != expected.end() && it_test != hex_parsed.end())
55 {
56 if (*it_expected != *it_test)
57 {
58 LogError("Colour parsing by name mismatch: expected (%d, %d, %d), got (%d, %d, %d)",
59 it_expected->r, it_expected->g, it_expected->b, it_test->r, it_test->g,
60 it_test->b);
61 return EXIT_FAILURE;
62 }
63 ++it_expected;
64 ++it_test;
65 }

Callers

nothing calls this directly

Calls 3

endMethod · 0.80
parseOptionsMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected