def test_create_from_rgb__invalid_rgb(bad_rgb): try: r, g, b = bad_rgb c = Color(r=r, g=g, b=b) if c.as_hex() != '000000': pytest.fail('This should not have worked: {}'.format(c.as_hex())) except ValueError: pass
def test_set_color(unicorn, color, new_color, truth): assert unicorn.color == color unicorn.set_status(False) c = Color(hex=new_color) unicorn.set_color(c) assert unicorn.color == c assert unicorn.status == truth
def test_get_brightness(hex_code, brightness): unicorn._color = Color(hex=hex_code) assert get_brightness() == brightness
def test_get_color(): unicorn._color = Color(hex='123456') assert get_color() == '123456'
def color(): return Color(hex='007F7F')
def test_brightness(hex_code, brightness): assert Color(hex=hex_code).brightness == brightness
def test_as_hsv(hex_code, hsv_tuple): hsv = Color(hex=hex_code).as_hsv() new_hsv = tuple(int(hsv[c] + 0.5) for c in range(3)) assert new_hsv == hsv_tuple
def test_create__unexpected_input(): c = Color(r=27) assert c.as_hex() == '000000'
def test_create_from_hsv__valid_hsv(hsv_tuple, hex_code): h, s, v = hsv_tuple c = Color(h=h, s=s, v=v) assert c.as_hex() == hex_code.upper()
def test_create_from_rgb__valid_rgb(rgb_tuple, hex_code): r, g, b = rgb_tuple c = Color(r=r, g=g, b=b) assert c.as_hex() == hex_code.upper()
def test_create_from_hex__invalid_hex_codes(bad_hex_code): try: Color(hex=bad_hex_code) except AttributeError: pass
def test_create_from_hex__valid_hex_codes(hex_code, rgb_tuple): assert Color(hex=hex_code).as_rgb() == rgb_tuple