MCPcopy Create free account
hub / github.com/DISTRHO/DPF / main

Function main

tests/Color.cpp:26–219  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24// --------------------------------------------------------------------------------------------------------------------
25
26int main()
27{
28 using DGL_NAMESPACE::Color;
29
30 // constructor with no arguments, must give solid black
31 {
32 Color c;
33 DISTRHO_ASSERT_EQUAL(c.red, 0.0f, "red value is 0");
34 DISTRHO_ASSERT_EQUAL(c.green, 0.0f, "green value is 0");
35 DISTRHO_ASSERT_EQUAL(c.blue, 0.0f, "blue value is 0");
36 DISTRHO_ASSERT_EQUAL(c.alpha, 1.0f, "alpha value is 1");
37 }
38
39 // constructor gives correct floating-point values (arguments are r, g, b, a; in order)
40 {
41 Color c(0.1f, 0.2f, 0.3f, 0.4f);
42 DISTRHO_ASSERT_EQUAL(c.red, 0.1f, "red value is 0.1");
43 DISTRHO_ASSERT_EQUAL(c.green, 0.2f, "green value is 0.2");
44 DISTRHO_ASSERT_EQUAL(c.blue, 0.3f, "blue value is 0.3");
45 DISTRHO_ASSERT_EQUAL(c.alpha, 0.4f, "alpha value is 0.4");
46 }
47
48 // constructor gives correct integer values normalized to float (arguments are r, g, b, a; in order)
49 {
50 Color c(51, 102, 153);
51 DISTRHO_ASSERT_SAFE_EQUAL(c.red, 0.2f, "red value is 0.2 (integer 51)");
52 DISTRHO_ASSERT_SAFE_EQUAL(c.green, 0.4f, "green value is 0.4 (integer 102)");
53 DISTRHO_ASSERT_SAFE_EQUAL(c.blue, 0.6f, "blue value is 0.6 (integer 153)");
54 DISTRHO_ASSERT_SAFE_EQUAL(c.alpha, 1.0f, "alpha value is 1");
55
56 Color white(255, 255, 255);
57 DISTRHO_ASSERT_EQUAL(white.red, 1.0f, "white's red value is 1");
58 DISTRHO_ASSERT_EQUAL(white.green, 1.0f, "white's green value is 1");
59 DISTRHO_ASSERT_EQUAL(white.blue, 1.0f, "white's blue value is 1");
60 DISTRHO_ASSERT_EQUAL(white.alpha, 1.0f, "white alpha value is 1");
61 }
62
63 // copy colors around
64 {
65 Color black;
66 Color halfTransparentWhite(1.0f, 1.0f, 1.0f, 0.5f);
67
68 // constructor copy
69 Color test(halfTransparentWhite);
70 DISTRHO_ASSERT_EQUAL(test.red, 1.0f, "copied white's red value is 1.0");
71 DISTRHO_ASSERT_EQUAL(test.green, 1.0f, "copied white's green value is 1");
72 DISTRHO_ASSERT_EQUAL(test.blue, 1.0f, "copied white's blue value is 1");
73 DISTRHO_ASSERT_EQUAL(test.alpha, 0.5f, "copied white's alpha value is 0.5");
74
75 // assign operator
76 test = black;
77 DISTRHO_ASSERT_EQUAL(test.red, 0.0f, "assigned black's red value is 0");
78 DISTRHO_ASSERT_EQUAL(test.green, 0.0f, "assigned black's green value is 0");
79 DISTRHO_ASSERT_EQUAL(test.blue, 0.0f, "assigned black's blue value is 0");
80 DISTRHO_ASSERT_EQUAL(test.alpha, 1.0f, "assigned black's alpha value is 1");
81 }
82
83 // simple color comparisons

Callers

nothing calls this directly

Calls 3

roundFunction · 0.85
isEqualMethod · 0.80
isNotEqualMethod · 0.80

Tested by

no test coverage detected