Describe(valid_rgb_color) { // True tests It(rgb_lowest_valid_numbers){Assert::That(validColor("rgb(0,0,0)"), Equals(true));} It(rgb_highest_valid_numbers){Assert::That(validColor("rgb(255,255,255)"), Equals(true));} It(rgba_lowest_valid_numbers){Assert::That(validColor("rgba(0,0,0,0)"), Equals(true));} It(rgba_highest_valid_numbers){Assert::That(validColor("rgba(255,255,255,1)"), Equals(true));} It(alpha_can_have_many_decimals){Assert::That(validColor("rgba(0,0,0,0.123456789)"), Equals(true));} It(in_alpha_number_before_dot_is_optional){Assert::That(validColor("rgba(0,0,0,.8)"), Equals(true));} It(whitespace_allowed_around_numbers){Assert::That(validColor("rgba( 0 , 127 , 255 , 0.1 )"), Equals(true));} It(numbers_can_be_percentages){Assert::That(validColor("rgb(0%,50%,100%)"), Equals(true));} // False tests It(missing_number){Assert::That(validColor("rgb(0,,0)"), Equals(false));} It(whitespace_before_parenthesis){Assert::That(validColor("rgb (0,0,0)"), Equals(false));} It(rgb_with_4_numbers){Assert::That(validColor("rgb(0,0,0,0)"), Equals(false));} It(rgba_with_3_numbers){Assert::That(validColor("rgba(0,0,0)"), Equals(false));} It(numbers_below_0){Assert::That(validColor("rgb(-1,0,0)"), Equals(false));} It(numbers_above_255){Assert::That(validColor("rgb(255,256,255)"), Equals(false));} It(numbers_above_100_percent){Assert::That(validColor("rgb(100%,100%,101%)"), Equals(false));} It(alpha_below_0){Assert::That(validColor("rgba(0,0,0,-1)"), Equals(false));} It(alpha_above_1){Assert::That(validColor("rgba(0,0,0,1.1)"), Equals(false));} };