コード例 #1
0
    def test_six_units_output(self):
        """
            Tests the output after hex codes of 6 units are passed in.
        """
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#FFFFFF"),
                               [255, 255, 255])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#000000"),
                               [0, 0, 0])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#112233"),
                               [17, 34, 51])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#AABBCC"),
                               [170, 187, 204])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#11BBCC"),
                               [17, 187, 204])

        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#2955C0"),
                               [41, 85, 192])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#32A852"),
                               [50, 168, 82])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#EB4034"),
                               [235, 64, 52])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#4287F5"),
                               [66, 135, 245])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#FCBA03"),
                               [252, 186, 3])
コード例 #2
0
 def test_number_of_parameters(self):
     """
         Makes sure that a type error is thrown when 3 parameters are not given in.
     """
     self.assertRaises(TypeError, ColourConverter().convert_rgb_to_hex, 1)
     self.assertRaises(TypeError,
                       ColourConverter().convert_rgb_to_hex, 1, 2)
     self.assertRaises(TypeError,
                       ColourConverter().convert_rgb_to_hex, 1, 2, 3, 4)
コード例 #3
0
    def rgb_updated(self, input_boxes, colour_box, colours):
        """
            The method that is called when an RGB input box has been inputted to, meaning the 
            hex box is changed.
            Args:
                input_boxes: list, contains all the input boxes in the application
                colour_box: Label, the box which displays the colour inputted
                colours: object, the main colours for the application
        """
        red = input_boxes["red"].get()
        green = input_boxes["green"].get()
        blue = input_boxes["blue"].get()

        colour_inputs = [
            input_boxes["red"], input_boxes["green"], input_boxes["blue"]
        ]

        valid_input = True

        for colour_input in colour_inputs:
            current_colour_value = colour_input.get()

            if (current_colour_value.isdigit() is
                    False) or (int(current_colour_value) > 255):
                self.display_invalid_input(colour_input, colours)
                valid_input = False
            else:
                colour_input.configure(background=colours["secondary"])

        if valid_input is True:
            hex_value = ColourConverter().convert_rgb_to_hex(red, green, blue)
            colours["colour box"] = f"#{hex_value}"
            InterfaceUpdater.update_colour_box(self, colour_box, colours)
            input_boxes["hex"].delete(0, "end")
            input_boxes["hex"].insert(0, hex_value)
コード例 #4
0
    def hex_updated(self, input_boxes, colour_box, colours):
        """
            The method that is called when the hex input box has been inputted to, meaning the 
            RGB boxes are changed.
            Args:
                input_boxes: list, contains all the input boxes in the application
                colour_box: Label, the box which displays the colour inputted
                colours: object, the main colours for the application
        """
        hex_value = input_boxes["hex"].get()
        rgb_values = ColourConverter().convert_hex_to_rgb(f"#{hex_value}")

        if rgb_values != "Invalid":
            input_boxes["hex"].configure(background=colours["secondary"])

            colours["colour box"] = f"#{hex_value}"
            self.update_colour_box(colour_box, colours)

            input_boxes["red"].delete(0, "end")
            input_boxes["red"].insert(0, rgb_values[0])
            input_boxes["green"].delete(0, "end")
            input_boxes["green"].insert(0, rgb_values[1])
            input_boxes["blue"].delete(0, "end")
            input_boxes["blue"].insert(0, rgb_values[2])
        else:
            self.display_invalid_input(input_boxes["hex"], colours)
コード例 #5
0
 def test_three_units_output(self):
     """
         Tests the output after hex codes of 3 units are passed in.
     """
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#FFF"),
                            [255, 255, 255])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#000"),
                            [0, 0, 0])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#123"),
                            [17, 34, 51])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#ABC"),
                            [170, 187, 204])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#1BC"),
                            [17, 187, 204])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#BC9"),
                            [187, 204, 153])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#B5E"),
                            [187, 85, 238])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#45E"),
                            [68, 85, 238])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#F12"),
                            [255, 17, 34])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#5D6"),
                            [85, 221, 102])
コード例 #6
0
 def test_output(self):
     """
         Makes sure the correct value is outputted when valid inputs are given in.
     """
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(255, 255, 255), "FFFFFF")
     self.assertAlmostEqual(ColourConverter().convert_rgb_to_hex(0, 0, 0),
                            "000000")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(208, 19, 126), "D0137E")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(35, 227, 59), "23E33B")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(104, 254, 238), "68FEEE")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(205, 75, 14), "CD4B0E")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(104, 108, 132), "686C84")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(61, 131, 121), "3D8379")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(116, 179, 26), "74B31A")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(165, 138, 69), "A58A45")
コード例 #7
0
 def test_data_types(self):
     """
         Makes sure that certain data types inputted in gives the "invalid" output.
     """
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(3.3, 1.4, 12.3), "Invalid")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(True, False, True), "Invalid")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex("12", "32", "87"), "0C2057")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(12, 32, 87), "0C2057")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(-12, -32, -87), "Invalid")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex("A", "B", "C"), "Invalid")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex("%", "4", "A"), "Invalid")
     self.assertAlmostEqual(
         ColourConverter().convert_rgb_to_hex(None, None, None), "Invalid")
コード例 #8
0
 def test_casing(self):
     """
         Makes sure that a correct answer is still outputted no matter 
         the case the user uses.
     """
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#ABCDEF"),
                            [171, 205, 239])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#abcdef"),
                            [171, 205, 239])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("ABCDEF"),
                            [171, 205, 239])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("abcdef"),
                            [171, 205, 239])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#ABC123"),
                            [171, 193, 35])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#abc123"),
                            [171, 193, 35])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("ABC123"),
                            [171, 193, 35])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("abc123"),
                            [171, 193, 35])
コード例 #9
0
 def test_data_types(self):
     """
         Makes sure that certain data types output the "invalid" message
     """
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(True),
                            "Invalid")
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(False),
                            "Invalid")
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(123456),
                            [18, 52, 86])
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(1.3),
                            "Invalid")
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb({"a": 2}),
                            "Invalid")
     self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(None),
                            "Invalid")
コード例 #10
0
    def test_without_hashtags(self):
        """
            Tests that values where hashtags are not included still provide an 
            RGB answer.
        """
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("FFFFFF"),
                               [255, 255, 255])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("000000"),
                               [0, 0, 0])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("112233"),
                               [17, 34, 51])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("AABBCC"),
                               [170, 187, 204])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("11BBCC"),
                               [17, 187, 204])

        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("2955C0"),
                               [41, 85, 192])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("32A852"),
                               [50, 168, 82])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("EB4034"),
                               [235, 64, 52])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("4287F5"),
                               [66, 135, 245])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("FCBA03"),
                               [252, 186, 3])

        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("FFF"),
                               [255, 255, 255])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("000"),
                               [0, 0, 0])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("123"),
                               [17, 34, 51])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("ABC"),
                               [170, 187, 204])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("1BC"),
                               [17, 187, 204])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("BC9"),
                               [187, 204, 153])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("B5E"),
                               [187, 85, 238])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("45E"),
                               [68, 85, 238])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("F12"),
                               [255, 17, 34])
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("5D6"),
                               [85, 221, 102])
コード例 #11
0
    def test_invalid(self):
        """
            Makes sure that invalid inputs provide an "invalid" message.
        """
        # Lengths
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("ABC1234"),
                               "Invalid")
        self.assertAlmostEqual(
            ColourConverter().convert_hex_to_rgb("#ABC1234"), "Invalid")
        self.assertAlmostEqual(
            ColourConverter().convert_hex_to_rgb("#ABCDEFG"), "Invalid")
        self.assertAlmostEqual(
            ColourConverter().convert_hex_to_rgb("#1234567"), "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#ABCDE"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#12345"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#A2B4C"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#ABCD"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#1234"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#A2C4"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#AB"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#10"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#1F"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#A"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#0"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb(""),
                               "Invalid")

        # Invalid characters
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#123AH4"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#PKLUTR"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#PKL"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#%A1"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#%A1456"),
                               "Invalid")
        self.assertAlmostEqual(ColourConverter().convert_hex_to_rgb("#%^$'#/"),
                               "Invalid")