コード例 #1
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_light_object_ramp(self):
     r = LightCommandRamp(arguments=Arguments([110, 120, 130, 4]),
                          noop=" ; comment")
     self.assertEqual(r.get_duration(), 4)
     self.assertEqual(r.export(), "ramp (110, 120, 130, 4) ; comment")
     self.assertEqual(r._render_connected(self.color_pre, None), ([
         Color(10, 20, 30),
         Color(35, 45, 55),
         Color(60, 70, 80),
         Color(85, 95, 105)
     ], Color(110, 120, 130)))
コード例 #2
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_light_object_color(self):
     c = LightCommandColor(arguments=Arguments([1, 2, 3]),
                           noop=" ; comment")
     self.assertEqual(c.get_duration(), 0)
     self.assertEqual(c.export(), "color (1, 2, 3) ; comment")
     self.assertEqual(c._render_connected(self.color_pre, None),
                      ([], Color(1, 2, 3)))
コード例 #3
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_or(self):
     c1 = Color(255, None, None)
     c2 = Color(10, 20, None)
     cr = c1 | c2
     self.assertEqual(cr.get_rgb(), (255, 20, None))
コード例 #4
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_eq(self):
     c1 = Color(255, 0, 0)
     c2 = Color(255, 0, 0)
     self.assertEqual(c1, c2)
コード例 #5
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_abs(self):
     c1 = Color(-100, 0, 10.5)
     cr = abs(c1)
     self.assertEqual(cr.get_rgb(), (100, 0, 10.5))
コード例 #6
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_round(self):
     c1 = Color(10.9, 20.1, 30.5)
     cr = round(c1)
     self.assertEqual(cr.get_rgb(), (11, 20, 30))
コード例 #7
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_mul(self):
     c1 = Color(10, 20, 30)
     cr = c1 * 2
     self.assertEqual(cr.get_rgb(), (20, 40, 60))
コード例 #8
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_sub(self):
     c1 = Color(10, 20, 30)
     c2 = Color(2, 4, 6)
     cr = c1 - c2
     self.assertEqual(cr.get_rgb(), (8, 16, 24))
コード例 #9
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_add(self):
     c1 = Color(10, 20, 30)
     c2 = Color(2, 4, 6)
     cr = c1 + c2
     self.assertEqual(cr.get_rgb(), (12, 24, 36))
コード例 #10
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_list(self):
     cr = Color(255, 255, 255)
     self.assertEqual(cr.get_rgb(), (255, 255, 255))
コード例 #11
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
class TestLightObject(unittest.TestCase):
    color_pre = Color(10, 20, 30)

    def test_light_object_color(self):
        c = LightCommandColor(arguments=Arguments([1, 2, 3]),
                              noop=" ; comment")
        self.assertEqual(c.get_duration(), 0)
        self.assertEqual(c.export(), "color (1, 2, 3) ; comment")
        self.assertEqual(c._render_connected(self.color_pre, None),
                         ([], Color(1, 2, 3)))

    def test_light_object_delay(self):
        d = LightCommandDelay(arguments=Arguments([1]), noop=" ; comment")
        self.assertEqual(d.get_duration(), 1)
        self.assertEqual(d.export(), "delay (1) ; comment")
        self.assertEqual(d._render_connected(self.color_pre, None),
                         ([self.color_pre], self.color_pre))

    def test_light_object_ramp(self):
        r = LightCommandRamp(arguments=Arguments([110, 120, 130, 4]),
                             noop=" ; comment")
        self.assertEqual(r.get_duration(), 4)
        self.assertEqual(r.export(), "ramp (110, 120, 130, 4) ; comment")
        self.assertEqual(r._render_connected(self.color_pre, None), ([
            Color(10, 20, 30),
            Color(35, 45, 55),
            Color(60, 70, 80),
            Color(85, 95, 105)
        ], Color(110, 120, 130)))

    def test_light_object_noop(self):
        n = LightCommandNoop(noop="; comment")
        self.assertEqual(n.get_duration(), 0)
        self.assertEqual(n.export(), "; comment")
        self.assertEqual(n._render_connected(self.color_pre, None),
                         ([], self.color_pre))

    def test_light_object_sub(self):
        d = LightCommandDelay(arguments=Arguments([1]), noop=" ; comment")
        ds = LightSequenceDefsub(arguments=Arguments(['sub_name']),
                                 objects=[d],
                                 noop=' ; defsub')
        s = LightCommandSub(arguments=Arguments(['sub_name']),
                            noop=" ; comment")
        m = LightSequenceMain(objects=[s])
        f = LightSequenceFile(objects=[m, ds])
        lo = LightSequenceLoop(arguments=Arguments([5]), objects=[s])

        self.assertEqual(
            ds.export(),
            "defsub (sub_name) ; defsub\ndelay (1) ; comment\nendsub")
        self.assertEqual(ds.get_duration(), 1)

        self.assertEqual(s.export(), "sub (sub_name) ; comment")
        self.assertEqual(s.get_duration(root=f), 1)

        self.assertEqual(m.export(), "sub (sub_name) ; comment\nend")
        self.assertEqual(m.get_duration(root=f), 1)

        self.assertEqual(
            f.export(),
            "sub (sub_name) ; comment\nend\ndefsub (sub_name) ; defsub\ndelay (1) ; comment\nendsub"
        )
        self.assertEqual(f.get_duration(), 1)

        self.assertEqual(lo.export(),
                         "loop (5)\nsub (sub_name) ; comment\nendloop")
        self.assertEqual(lo.get_duration(root=f), 5)

        m.append(lo)
        self.assertEqual(f.get_duration(), 6)
コード例 #12
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_distance(self):
     c_k = Color(0, 0, 0)
     c_r = Color(255, 0, 0)
     c_g = Color(0, 255, 0)
     c_b = Color(0, 0, 255)
     c_y = Color(255, 255, 0)
     c_m = Color(255, 0, 255)
     c_c = Color(0, 255, 255)
     c_w = Color(255, 255, 255)
     self.assertEqual(c_k.distance(c_r), 255)
     self.assertEqual(c_r.distance(c_k), 255)
     self.assertEqual(round(c_k.distance(c_c)), 361)
     self.assertEqual(round(c_k.distance(c_w)), 442)
     self.assertEqual(round(c_r.distance(c_c)), 442)
     self.assertEqual(round(c_g.distance(c_m)), 442)
     self.assertEqual(round(c_b.distance(c_y)), 442)
コード例 #13
0
ファイル: test_aeropy.py プロジェクト: passing/aeropy
 def test_amplify(self):
     c = Color(10, 20, 30)
     self.assertEqual(c.get_rgb(amplify=True), (50, 71, 87))