diff --git a/docs/changes.rst b/docs/changes.rst index cd54336c..54cd8b1f 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -4,6 +4,11 @@ Changes This change log is used to track all major changes to Mopidy. +0.1.0a1 (unreleased) +==================== + +- Changed backend API for get/filter/find_exact/search. + 0.1.0a0 (2010-03-27) ==================== diff --git a/docs/installation/despotify.rst b/docs/installation/despotify.rst index f00a4dee..ef47ca64 100644 --- a/docs/installation/despotify.rst +++ b/docs/installation/despotify.rst @@ -75,5 +75,3 @@ The test script should ask for your username and password (which must be for a Spotify Premium account), ask for a search query, list all your playlists with tracks, play 10s from a random song from the search result, pause for two seconds, play for five more seconds, and quit. -o stop Mopidy, press ``CTRL+C``. - diff --git a/mopidy/__init__.py b/mopidy/__init__.py index d94913b0..711a6242 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -1,7 +1,7 @@ from mopidy import settings as raw_settings def get_version(): - return u'0.1.0a0' + return u'0.1.0a1' def get_mpd_protocol_version(): return u'0.16.0' diff --git a/mopidy/mixers/denon.py b/mopidy/mixers/denon.py index ae5871d9..9d065d9a 100644 --- a/mopidy/mixers/denon.py +++ b/mopidy/mixers/denon.py @@ -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() diff --git a/tests/mixers/denon_test.py b/tests/mixers/denon_test.py index d0fb9a46..82e813e9 100644 --- a/tests/mixers/denon_test.py +++ b/tests/mixers/denon_test.py @@ -1,6 +1,7 @@ import unittest from mopidy.mixers.denon import DenonMixer +from tests.mixers.dummy_test import BaseMixerTest class DenonMixerDeviceMock(object): def __init__(self): @@ -23,28 +24,16 @@ class DenonMixerDeviceMock(object): def open(self): self._open = True -class DenonMixerTest(unittest.TestCase): +class DenonMixerTest(BaseMixerTest): + ACTUAL_MAX = 99 + + INITIAL = 1 + def setUp(self): - self.m = DenonMixer() - self.m._device = DenonMixerDeviceMock() - - def test_volume_set_to_min(self): - self.m.volume = 0 - self.assertEqual(self.m.volume, 0) - - def test_volume_set_to_max(self): - self.m.volume = 100 - self.assertEqual(self.m.volume, 99) - - def test_volume_set_to_below_min_results_in_min(self): - self.m.volume = -10 - self.assertEqual(self.m.volume, 0) - - def test_volume_set_to_above_max_results_in_max(self): - self.m.volume = 110 - self.assertEqual(self.m.volume, 99) + self.device = DenonMixerDeviceMock() + self.mixer = DenonMixer(device=self.device) 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()) diff --git a/tests/mixers/dummy_test.py b/tests/mixers/dummy_test.py index 00d748fe..35944e14 100644 --- a/tests/mixers/dummy_test.py +++ b/tests/mixers/dummy_test.py @@ -3,24 +3,32 @@ import unittest from mopidy.mixers.dummy import DummyMixer class BaseMixerTest(unittest.TestCase): - def setUp(self): - self.m = DummyMixer() + MIN = 0 + MAX = 100 - def test_volume_is_None_initially(self): - self.assertEqual(self.m.volume, None) + ACTUAL_MIN = MIN + ACTUAL_MAX = MAX + + INITIAL = None + + def setUp(self): + self.mixer = DummyMixer() + + def test_initial_volume(self): + self.assertEqual(self.mixer.volume, self.INITIAL) def test_volume_set_to_min(self): - self.m.volume = 0 - self.assertEqual(self.m.volume, 0) + self.mixer.volume = self.MIN + self.assertEqual(self.mixer.volume, self.ACTUAL_MIN) def test_volume_set_to_max(self): - self.m.volume = 100 - self.assertEqual(self.m.volume, 100) + self.mixer.volume = self.MAX + self.assertEqual(self.mixer.volume, self.ACTUAL_MAX) 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, self.ACTUAL_MIN) def test_volume_set_to_above_max_results_in_max(self): - self.m.volume = 110 - self.assertEqual(self.m.volume, 100) + self.mixer.volume = self.MAX + 10 + self.assertEqual(self.mixer.volume, self.ACTUAL_MAX) diff --git a/tests/version_test.py b/tests/version_test.py index 4a9b948d..f6d6cfb3 100644 --- a/tests/version_test.py +++ b/tests/version_test.py @@ -8,7 +8,8 @@ class VersionTest(unittest.TestCase): SV(get_version()) def test_versions_can_be_strictly_ordered(self): - self.assert_(SV(get_version()) < SV('0.1.0a1')) + self.assert_(SV(get_version()) > SV('0.1.0a0')) + self.assert_(SV(get_version()) < SV('0.1.0a2')) self.assert_(SV('0.1.0a1') < SV('0.1.0')) self.assert_(SV('0.1.0') < SV('0.1.1')) self.assert_(SV('0.1.1') < SV('0.2.0'))