コード例 #1
0
 def test_can_set_via_color_tuple(self):
     color = (128, 128, 128)
     s = LightSettings()
     s.set_color(color)
     self.assertEquals(s.red, 128)
     self.assertEquals(s.blue, 128)
     self.assertEquals(s.green, 128)
コード例 #2
0
 def test_can_dim_lights_uniformly(self):
     color = (100, 100, 100)
     s = LightSettings()
     s.set_color(color)
     s.dim(75)
     self.assertEquals(s.red, 75)
     self.assertEquals(s.green, 75)
     self.assertEquals(s.blue, 75)
コード例 #3
0
ファイル: testraspi.py プロジェクト: jdiller/lightcontroller
 def test_can_transition_one_way(self):
     raspi = RasPi(self.mockconfig)
     settings = LightSettings(red=0, green=0, blue=0)
     settings2 = LightSettings(red=255, green=255, blue=255)
     settings.next_settings = settings2
     settings.on_duration = 0.015
     settings2.transition_time = 0.015
     raspi.apply_settings(settings)
     for led in raspi.leds:
         self.assertEquals(0, raspi.get_PWM_dutycycle(led))
     gevent.sleep(0.07)
     for led in raspi.leds:
         self.assertEquals(255, raspi.get_PWM_dutycycle(led))
コード例 #4
0
 def test_can_load_from_json(self):
     d = {'red': 10, 'blue': 20, 'green': 30,
          'on_duration': 1}
     json_str = json.dumps(d)
     s = LightSettings.from_json(json_str)
     self.assertTrue(s is not None)
     self.assertEquals(s.red, 10)
     self.assertEquals(s.blue, 20)
     self.assertEquals(s.green, 30)
     self.assertEquals(s.on_duration, 1)
コード例 #5
0
    def test_can_compare_settings_for_equivalence(self):
        color = (100, 100, 100)
        s = LightSettings()
        s.set_color(color)

        s2 = LightSettings()
        s2.set_color(color)

        self.assertEquals(s, s2)
        self.assertFalse(s is s2)
コード例 #6
0
    def test_detects_cycles(self):
        ls = LightSettings()
        ls2 = LightSettings()
        ls3 = LightSettings()
        # make a cycle
        ls.next_settings = ls2
        ls2.next_settings = ls3
        ls3.next_settings = ls

        mod = Modifier()
        mod.modify(ls)
        self.assertIsNotNone(ls)
コード例 #7
0
 def test_can_serialize_to_json(self):
     s = LightSettings()
     s.red = 10
     jsonstr = s.to_json()
     self.assertEquals(jsonstr, '{"red": 10}')
コード例 #8
0
 def test_can_set_on_duration(self):
     s = LightSettings()
     s.on_duration = 3
     self.assertEquals(s.on_duration, 3)
コード例 #9
0
 def test_invalid_blue_value_throws(self):
     s = LightSettings()
     with self.assertRaises(ValueError):
         s.blue = -1
     with self.assertRaises(ValueError):
         s.blue = 256
コード例 #10
0
 def test_invalid_green_value_throws(self):
     s = LightSettings()
     with self.assertRaises(ValueError):
         s.green = -0.01
     with self.assertRaises(ValueError):
         s.green = 100000
コード例 #11
0
 def test_invalid_red_value_throws(self):
     s = LightSettings()
     with self.assertRaises(ValueError):
         s.red = -10
     with self.assertRaises(ValueError):
         s.red = 300
コード例 #12
0
 def test_can_set_green(self):
     s = LightSettings()
     s.green = 80
     self.assertEquals(s.green, 80)
コード例 #13
0
 def test_can_set_red(self):
     s = LightSettings()
     s.red = 10
     self.assertEquals(s.red, 10)
コード例 #14
0
 def test_can_set_blue(self):
     s = LightSettings()
     s.blue = 20
     self.assertEquals(s.blue, 20)
コード例 #15
0
    def test_can_compare_settings_to_tuple(self):
        color = (100, 100, 100)
        s = LightSettings()
        s.set_color(color)

        self.assertEquals(s, color)