Clean DenonMixerTest

This commit is contained in:
Thomas Adamcik 2010-04-07 02:49:22 +02:00
parent 04b6535d95
commit 051d2d7dac
2 changed files with 15 additions and 15 deletions

View File

@ -26,12 +26,12 @@ class DenonMixer(BaseMixer):
- :attr:`mopidy.settings.MIXER_EXT_PORT` -- Example: ``/dev/ttyUSB0``
"""
def __init__(self):
def __init__(self, device=None):
"""
Connects using the serial specifications from Denon's RS-232 Protocol
specification: 9600bps 8N1.
"""
self._device = Serial(port=MIXER_EXT_PORT, timeout=0.2)
self._device = device or Serial(port=MIXER_EXT_PORT, timeout=0.2)
self._levels = ['99'] + ["%(#)02d" % {'#': v} for v in range(0, 99)]
self._volume = 0
self._lock = Lock()

View File

@ -25,26 +25,26 @@ class DenonMixerDeviceMock(object):
class DenonMixerTest(unittest.TestCase):
def setUp(self):
self.m = DenonMixer()
self.m._device = DenonMixerDeviceMock()
self.device = DenonMixerDeviceMock()
self.mixer = DenonMixer(device=self.device)
def test_volume_set_to_min(self):
self.m.volume = 0
self.assertEqual(self.m.volume, 0)
self.mixer.volume = 0
self.assertEqual(self.mixer.volume, 0)
def test_volume_set_to_max(self):
self.m.volume = 100
self.assertEqual(self.m.volume, 99)
self.mixer.volume = 100
self.assertEqual(self.mixer.volume, 99)
def test_volume_set_to_below_min_results_in_min(self):
self.m.volume = -10
self.assertEqual(self.m.volume, 0)
self.mixer.volume = -10
self.assertEqual(self.mixer.volume, 0)
def test_volume_set_to_above_max_results_in_max(self):
self.m.volume = 110
self.assertEqual(self.m.volume, 99)
self.mixer.volume = 110
self.assertEqual(self.mixer.volume, 99)
def test_reopen_device(self):
self.m._device._open = False
self.m.volume = 10
self.assertTrue(self.m._device._open)
self.device._open = False
self.mixer.volume = 10
self.assertTrue(self.device.isOpen())