| 24 | // -------------------------------------------------------------------------------------------------------------------- |
| 25 | |
| 26 | int 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 |
nothing calls this directly
no test coverage detected