Пример #1
0
    def test_db_changes(self):
        spl = SmartPlaylistPlugin()

        nones = None, None
        pl1 = '1', (u'q1', None), nones
        pl2 = '2', (u'q2', None), nones
        pl3 = '3', (u'q3', None), nones

        spl._unmatched_playlists = set([pl1, pl2, pl3])
        spl._matched_playlists = set()

        spl.matches = Mock(return_value=False)
        spl.db_change(None, u"nothing")
        self.assertEqual(spl._unmatched_playlists, set([pl1, pl2, pl3]))
        self.assertEqual(spl._matched_playlists, set())

        spl.matches.side_effect = lambda _, q, __: q == u'q3'
        spl.db_change(None, u"matches 3")
        self.assertEqual(spl._unmatched_playlists, set([pl1, pl2]))
        self.assertEqual(spl._matched_playlists, set([pl3]))

        spl.matches.side_effect = lambda _, q, __: q == u'q1'
        spl.db_change(None, u"matches 3")
        self.assertEqual(spl._matched_playlists, set([pl1, pl3]))
        self.assertEqual(spl._unmatched_playlists, set([pl2]))
Пример #2
0
    def test_db_changes(self):
        spl = SmartPlaylistPlugin()

        nones = None, None
        pl1 = '1', (u'q1', None), nones
        pl2 = '2', (u'q2', None), nones
        pl3 = '3', (u'q3', None), nones

        spl._unmatched_playlists = set([pl1, pl2, pl3])
        spl._matched_playlists = set()

        spl.matches = Mock(return_value=False)
        spl.db_change(None, u"nothing")
        self.assertEqual(spl._unmatched_playlists, set([pl1, pl2, pl3]))
        self.assertEqual(spl._matched_playlists, set())

        spl.matches.side_effect = lambda _, q, __: q == u'q3'
        spl.db_change(None, u"matches 3")
        self.assertEqual(spl._unmatched_playlists, set([pl1, pl2]))
        self.assertEqual(spl._matched_playlists, set([pl3]))

        spl.matches.side_effect = lambda _, q, __: q == u'q1'
        spl.db_change(None, u"matches 3")
        self.assertEqual(spl._matched_playlists, set([pl1, pl3]))
        self.assertEqual(spl._unmatched_playlists, set([pl2]))
Пример #3
0
    def test_matches(self):
        spl = SmartPlaylistPlugin()

        a = MagicMock(Album)
        i = MagicMock(Item)

        self.assertFalse(spl.matches(i, None, None))
        self.assertFalse(spl.matches(a, None, None))

        query = Mock()
        query.match.side_effect = {i: True}.__getitem__
        self.assertTrue(spl.matches(i, query, None))
        self.assertFalse(spl.matches(a, query, None))

        a_query = Mock()
        a_query.match.side_effect = {a: True}.__getitem__
        self.assertFalse(spl.matches(i, None, a_query))
        self.assertTrue(spl.matches(a, None, a_query))

        self.assertTrue(spl.matches(i, query, a_query))
        self.assertTrue(spl.matches(a, query, a_query))
Пример #4
0
    def test_matches(self):
        spl = SmartPlaylistPlugin()

        a = MagicMock(Album)
        i = MagicMock(Item)

        self.assertFalse(spl.matches(i, None, None))
        self.assertFalse(spl.matches(a, None, None))

        query = Mock()
        query.match.side_effect = {i: True}.__getitem__
        self.assertTrue(spl.matches(i, query, None))
        self.assertFalse(spl.matches(a, query, None))

        a_query = Mock()
        a_query.match.side_effect = {a: True}.__getitem__
        self.assertFalse(spl.matches(i, None, a_query))
        self.assertTrue(spl.matches(a, None, a_query))

        self.assertTrue(spl.matches(i, query, a_query))
        self.assertTrue(spl.matches(a, query, a_query))