예제 #1
0
    def test_colorscheme(self):
        cs = ColorScheme(
            [
                SymbolColor("G", "orange"),
                SymbolColor("TU", "red"),
                SymbolColor("C", "blue"),
                SymbolColor("A", "green"),
            ],
            title="title",
            description="description",
        )

        self.assertEqual(cs.symbol_color(1, "G", 1), Color.by_name("orange"))
        self.assertEqual(cs.symbol_color(1, "T", 1), Color.by_name("red"))
        self.assertEqual(cs.symbol_color(1, "C", 1), Color.by_name("blue"))
        self.assertEqual(cs.symbol_color(1, "A", 1), Color.by_name("green"))
        self.assertEqual(cs.symbol_color(1, "X", 1), cs.default_color)

        cs = ColorScheme(
            [
                SymbolColor("G", "orange"),
                SymbolColor("TU", "red"),
                SymbolColor("C", "blue"),
                SymbolColor("A", "green"),
            ],
            title="title",
            description="description",
            alphabet="GTUCA",
        )
        self.assertRaises(KeyError, cs.symbol_color, 1, "X", 1)
예제 #2
0
    def test_ref_seq_color(self):
        rc = RefSeqColor("abc", "black", "Because")
        self.assertEqual(rc.description, "Because")

        self.assertEqual(rc.symbol_color(0, "A", 0), Color.by_name("black"))
        self.assertEqual(rc.symbol_color(1, "A", 0), None)
        self.assertEqual(rc.symbol_color(2, "A", 0), None)

        self.assertEqual(rc.symbol_color(0, "B", 0), None)
        self.assertEqual(rc.symbol_color(1, "B", 0), Color.by_name("black"))
        self.assertEqual(rc.symbol_color(2, "B", 0), None)

        self.assertEqual(rc.symbol_color(0, "C", 0), None)
        self.assertEqual(rc.symbol_color(1, "C", 0), None)
        self.assertEqual(rc.symbol_color(2, "C", 0), Color.by_name("black"))
예제 #3
0
 def test_color_by_name(self):
     white = Color.by_name("white")
     self.assertEqual(white, Color.by_name("white"))
     self.assertEqual(white, Color.by_name("WHITE"))
     self.assertEqual(white, Color.by_name(" wHiTe \t\n\t"))
     self.assertEqual(Color(255, 255, 240), Color.by_name("ivory"))
     self.assertEqual(Color(70, 130, 180), Color.by_name("steelblue"))
     self.assertEqual(Color(0, 128, 0), Color.by_name("green"))
예제 #4
0
 def test_color_clipping(self):
     red = Color.by_name("red")
     self.assertEqual(red, Color(255, 0, 0))
     self.assertEqual(red, Color(260, -10, 0))
     self.assertEqual(red, Color(1.1, -0.0, -1.0))
     self.assertEqual(Color(1.0001, 213.0, 1.2).red, 1.0)
     self.assertEqual(Color(-0.001, -2183.0, -1.0).red, 0.0)
     self.assertEqual(Color(1.0001, 213.0, 1.2).green, 1.0)
     self.assertEqual(Color(-0.001, -2183.0, -1.0).green, 0.0)
     self.assertEqual(Color(1.0001, 213.0, 1.2).blue, 1.0)
     self.assertEqual(Color(-0.001, -2183.0, -1.0).blue, 0.0)
예제 #5
0
 def test_color_from_hsl(self):
     red = Color.by_name("red")
     lime = Color.by_name("lime")
     saddlebrown = Color.by_name("saddlebrown")
     darkgreen = Color.by_name("darkgreen")
     blue = Color.by_name("blue")
     Color.by_name("green")
     self.assertEqual(red, Color.from_hsl(0, 1.0, 0.5))
     self.assertEqual(lime, Color.from_hsl(120, 1.0, 0.5))
     self.assertEqual(blue, Color.from_hsl(240, 1.0, 0.5))
     self.assertEqual(Color.by_name("gray"), Color.from_hsl(0, 0, 0.5))
     self.assertEqual(saddlebrown, Color.from_hsl(25, 0.76, 0.31))
     self.assertEqual(darkgreen, Color.from_hsl(120, 1.0, 0.197))
예제 #6
0
 def test_color_red(self):
     # Check Usage comment in Color
     red = Color.by_name("red")
     self.assertEqual(red, Color(255, 0, 0))
     self.assertEqual(red, Color(1.0, 0.0, 0.0))
     self.assertEqual(red, Color.from_rgb(1.0, 0.0, 0.0))
     self.assertEqual(red, Color.from_rgb(255, 0, 0))
     self.assertEqual(red, Color.from_hsl(0.0, 1.0, 0.5))
     self.assertEqual(red, Color.from_string("red"))
     self.assertEqual(red, Color.from_string("RED"))
     self.assertEqual(red, Color.from_string("#F00"))
     self.assertEqual(red, Color.from_string("#FF0000"))
     self.assertEqual(red, Color.from_string("rgb(255, 0, 0)"))
     self.assertEqual(red, Color.from_string("rgb(100%, 0%, 0%)"))
     self.assertEqual(red, Color.from_string("hsl(0, 100%, 50%)"))
예제 #7
0
    def test_color_components(self):
        white = Color.by_name("white")
        self.assertEqual(1.0, white.red)
        self.assertEqual(1.0, white.green)
        self.assertEqual(1.0, white.blue)

        c = Color(0.3, 0.4, 0.2)
        self.assertEqual(0.3, c.red)
        self.assertEqual(0.4, c.green)
        self.assertEqual(0.2, c.blue)

        c = Color(0, 128, 0)
        self.assertEqual(0.0, c.red)
        self.assertEqual(128.0 / 255.0, c.green)
        self.assertEqual(0.0, c.blue)
예제 #8
0
 def test_color_from_rgb(self):
     white = Color.by_name("white")
     self.assertEqual(white, Color(1.0, 1.0, 1.0))
     self.assertEqual(white, Color(255, 255, 255))
     self.assertEqual(white, Color.from_rgb(1.0, 1.0, 1.0))
     self.assertEqual(white, Color.from_rgb(255, 255, 255))
예제 #9
0
 def test_color_names(self):
     names = Color.names()
     self.assertEqual(len(names), 147)
     for n in names:
         c = Color.by_name(n)
         self.assertTrue(c is not None)
예제 #10
0
 def test_index_color(self):
     ic = IndexColor([1, 3], "black", "Because")
     self.assertEqual(ic.description, "Because")
     self.assertEqual(ic.symbol_color(0, "A", 0), None)
     self.assertEqual(ic.symbol_color(1, "A", 0), Color.by_name("black"))
예제 #11
0
 def test_symbol_color(self):
     sc = SymbolColor("abc", "black", "Because")
     self.assertEqual(sc.description, "Because")
     self.assertEqual(sc.symbol_color(0, "A", 0), Color.by_name("black"))
     self.assertEqual(sc.symbol_color(1, "D", 0), None)