uniform half4 colorGreen, colorRed, colorBlack, colorWhite, testInputs;

half4 main() {
    half4 expectedBW = half4(0.5, 0.5, 0.5, 1);
    half4 expectedWT = half4(1,   0.5, 1,   2.25);

    return (mix(colorGreen,      colorRed,        0)                   == half4(0,    1,    0, 1) &&
            mix(colorGreen,      colorRed,        0.25)                == half4(0.25, 0.75, 0, 1) &&
            mix(colorGreen,      colorRed,        0.75)                == half4(0.75, 0.25, 0, 1) &&
            mix(colorGreen,      colorRed,        1)                   == half4(1,    0,    0, 1) &&
            mix(colorBlack.x,    colorWhite.x,    0.5)                 == expectedBW.x            &&
            mix(colorBlack.xy,   colorWhite.xy,   0.5)                 == expectedBW.xy           &&
            mix(colorBlack.xyz,  colorWhite.xyz,  0.5)                 == expectedBW.xyz          &&
            mix(colorBlack.xyzw, colorWhite.xyzw, 0.5)                 == expectedBW.xyzw         &&
            mix(colorWhite.x,    testInputs.x,    0)                   == expectedWT.x            &&
            mix(colorWhite.xy,   testInputs.xy,   half2(0, 0.5))       == expectedWT.xy           &&
            mix(colorWhite.xyz,  testInputs.xyz,  half3(0, 0.5, 0))    == expectedWT.xyz          &&
            mix(colorWhite.xyzw, testInputs.xyzw, half4(0, 0.5, 0, 1)) == expectedWT.xyzw)
                ? colorGreen : colorRed;
}
