def test_valid_range(self): from jicbioimage.core.util.color import unique_color_from_identifier with self.assertRaises(ValueError): unique_color_from_identifier(-1) with self.assertRaises(ValueError): unique_color_from_identifier(256 * 256 * 256)
def test_non_in_raises_typerror(self): from jicbioimage.core.util.color import unique_color_from_identifier with self.assertRaises(TypeError): unique_color_from_identifier(1.0) with self.assertRaises(TypeError): unique_color_from_identifier("1")
def test_some_unique_colors(self): from jicbioimage.core.util.color import unique_color_from_identifier for i in range(1, 10): identifier = i blueish = unique_color_from_identifier(identifier) expected = (0, 0, i) self.assertEqual(blueish, expected) identifier = 256 + i greenish = unique_color_from_identifier(identifier) expected = (0, 1, i) self.assertEqual(greenish, expected) identifier = 256**2 + i redish = unique_color_from_identifier(identifier) expected = (1, 0, i) self.assertEqual(redish, expected)
def test_some_unique_colors(self): from jicbioimage.core.util.color import unique_color_from_identifier for i in range(1, 10): identifier = i blueish = unique_color_from_identifier(identifier) expected = (0, 0, i) self.assertEqual(blueish, expected) identifier = 256 + i greenish = unique_color_from_identifier(identifier) expected = (0, 1, i) self.assertEqual(greenish, expected) identifier = 256 ** 2 + i redish = unique_color_from_identifier(identifier) expected = (1, 0, i) self.assertEqual(redish, expected)
def test_unique_color_type(self): from jicbioimage.core.util.color import unique_color_from_identifier generated_color = unique_color_from_identifier(0) self.assertEqual(len(generated_color), 3) self.assertTrue(isinstance(generated_color, tuple)) self.assertEqual(generated_color, (0, 0, 0)) for i in generated_color: self.assertTrue(isinstance(i, int))
def test_non_in_raises_typerror(self): from jicbioimage.core.util.color import unique_color_from_identifier with self.assertRaises(TypeError): unique_color_from_identifier(1.) with self.assertRaises(TypeError): unique_color_from_identifier("1")
def test_unique_colors_edge_cases(self): from jicbioimage.core.util.color import unique_color_from_identifier self.assertEqual(unique_color_from_identifier(0), (0, 0, 0)) self.assertEqual(unique_color_from_identifier(1), (0, 0, 1)) self.assertEqual(unique_color_from_identifier(255), (0, 0, 255)) self.assertEqual(unique_color_from_identifier(256), (0, 1, 0)) self.assertEqual(unique_color_from_identifier(257), (0, 1, 1)) self.assertEqual(unique_color_from_identifier(511), (0, 1, 255)) self.assertEqual(unique_color_from_identifier(512), (0, 2, 0)) self.assertEqual(unique_color_from_identifier(65536 - 1), (0, 255, 255)) self.assertEqual(unique_color_from_identifier(65536), (1, 0, 0)) self.assertEqual(unique_color_from_identifier(65536 + 1), (1, 0, 1)) self.assertEqual(unique_color_from_identifier(65536 + 256), (1, 1, 0)) self.assertEqual(unique_color_from_identifier(65536 + 256 + 1), (1, 1, 1)) self.assertEqual(unique_color_from_identifier(16777215 - 256), (255, 254, 255)) self.assertEqual(unique_color_from_identifier(16777215 - 1), (255, 255, 254)) self.assertEqual(unique_color_from_identifier(16777215), (255, 255, 255))