color = ThemeColor(hue, saturation, brightness, kelvin) self.assertIs(color.hue, hue) self.assertIs(color.saturation, saturation) self.assertIs(color.brightness, brightness) self.assertIs(color.kelvin, kelvin) it "can return as a dict": hue = mock.Mock(name="hue") saturation = mock.Mock(name="saturation") brightness = mock.Mock(name="brightness") kelvin = 3500 color = ThemeColor(hue, saturation, brightness, kelvin) self.assertEqual(color.as_dict(), {"hue": hue, "saturation": saturation, "brightness": brightness, "kelvin": kelvin}) it "makes sure kelvin is an integer": color = ThemeColor(320, 0, 0, 3500.5) self.assertEqual(color.kelvin, 3500) describe "creating a set of ThemeColor": it "works": colors = [ ThemeColor(0, 0, 0, 2500) , ThemeColor(0, 0, 0, 2500) , ThemeColor(100, 0, 0, 3500) , ThemeColor(320, 0, 0, 3500) , ThemeColor(0, 0, 0, 2500) , ThemeColor(320, 0, 0, 3500) , ThemeColor(100, 0, 0, 3500)
color = ThemeColor(hue, saturation, brightness, kelvin) assert color.hue is hue assert color.saturation is saturation assert color.brightness is brightness assert color.kelvin is kelvin it "can return as a dict": hue = mock.Mock(name="hue") saturation = mock.Mock(name="saturation") brightness = mock.Mock(name="brightness") kelvin = 3500 color = ThemeColor(hue, saturation, brightness, kelvin) assert color.as_dict() == { "hue": hue, "saturation": saturation, "brightness": brightness, "kelvin": kelvin, } it "can return as a key suitable for a cache": hue = mock.Mock(name="hue") saturation = mock.Mock(name="saturation") brightness = mock.Mock(name="brightness") kelvin = 3500 color = ThemeColor(hue, saturation, brightness, kelvin) assert color.cache_key == tuple(sorted(color.as_dict().items()))