Example #1
0
 def test_order_returns_none_for_length_mismatch(self):
     items = []
     items.append(self.item('one', 1))
     items.append(self.item('two', 2))
     trackinfo = []
     trackinfo.append({'title': 'one', 'track': 1})
     ordered = autotag.order_items(items, trackinfo)
     self.assertEqual(ordered, None)
Example #2
0
 def test_order_returns_none_for_length_mismatch(self):
     items = []
     items.append(self.item('one', 1))
     items.append(self.item('two', 2))
     trackinfo = []
     trackinfo.append({'title': 'one', 'track': 1})
     ordered = autotag.order_items(items, trackinfo)
     self.assertEqual(ordered, None)
Example #3
0
 def test_order_works_with_incomplete_metadata(self):
     items = []
     items.append(self.item('one', 1))
     items.append(self.item('three', 1))
     items.append(self.item('two', 1))
     trackinfo = []
     trackinfo.append({'title': 'one', 'track': 1})
     trackinfo.append({'title': 'two', 'track': 2})
     trackinfo.append({'title': 'three', 'track': 3})
     ordered = autotag.order_items(items, trackinfo)
     self.assertEqual(ordered[0].title, 'one')
     self.assertEqual(ordered[1].title, 'two')
     self.assertEqual(ordered[2].title, 'three')
Example #4
0
 def test_order_works_with_incomplete_metadata(self):
     items = []
     items.append(self.item('one', 1))
     items.append(self.item('three', 1))
     items.append(self.item('two', 1))
     trackinfo = []
     trackinfo.append({'title': 'one', 'track': 1})
     trackinfo.append({'title': 'two', 'track': 2})
     trackinfo.append({'title': 'three', 'track': 3})
     ordered = autotag.order_items(items, trackinfo)
     self.assertEqual(ordered[0].title, 'one')
     self.assertEqual(ordered[1].title, 'two')
     self.assertEqual(ordered[2].title, 'three')
Example #5
0
    def test_order_corrects_when_track_names_are_entirely_wrong(self):
        # A real-world test case contributed by a user.
        def item(i, length):
            return Item({
                'artist': 'ben harper',
                'album': 'burn to shine',
                'title': 'ben harper - Burn to Shine ' + str(i),
                'track': i,
                'length': length,
                'mb_trackid': '', 'mb_albumid': '', 'mb_artistid': '',
            })
        items = []
        items.append(item(1, 241.37243007106997))
        items.append(item(2, 342.27781704375036))
        items.append(item(3, 245.95070222338137))
        items.append(item(4, 472.87662515485437))
        items.append(item(5, 279.1759535763187))
        items.append(item(6, 270.33333768012))
        items.append(item(7, 247.83435613222923))
        items.append(item(8, 216.54504531525072))
        items.append(item(9, 225.72775379800484))
        items.append(item(10, 317.7643606963552))
        items.append(item(11, 243.57001238834192))
        items.append(item(12, 186.45916150485752))

        def info(title, length):
            return {
                'title': title,
                'length': length,
            }
        trackinfo = []
        trackinfo.append(info('Alone', 238.893))
        trackinfo.append(info('The Woman in You', 341.44))
        trackinfo.append(info('Less', 245.59999999999999))
        trackinfo.append(info('Two Hands of a Prayer', 470.49299999999999))
        trackinfo.append(info('Please Bleed', 277.86599999999999))
        trackinfo.append(info('Suzie Blue', 269.30599999999998))
        trackinfo.append(info('Steal My Kisses', 245.36000000000001))
        trackinfo.append(info('Burn to Shine', 214.90600000000001))
        trackinfo.append(info('Show Me a Little Shame', 224.09299999999999))
        trackinfo.append(info('Forgiven', 317.19999999999999))
        trackinfo.append(info('Beloved One', 243.733))
        trackinfo.append(info('In the Lord\'s Arms', 186.13300000000001))

        ordered = autotag.order_items(items, trackinfo)
        for i, item in enumerate(ordered):
            self.assertEqual(i+1, item.track)
Example #6
0
    def test_order_corrects_when_track_names_are_entirely_wrong(self):
        # A real-world test case contributed by a user.
        def item(i, length):
            return Item({
                'artist': 'ben harper',
                'album': 'burn to shine',
                'title': 'ben harper - Burn to Shine ' + str(i),
                'track': i,
                'length': length,
                'mb_trackid': '', 'mb_albumid': '', 'mb_artistid': '',
            })
        items = []
        items.append(item(1, 241.37243007106997))
        items.append(item(2, 342.27781704375036))
        items.append(item(3, 245.95070222338137))
        items.append(item(4, 472.87662515485437))
        items.append(item(5, 279.1759535763187))
        items.append(item(6, 270.33333768012))
        items.append(item(7, 247.83435613222923))
        items.append(item(8, 216.54504531525072))
        items.append(item(9, 225.72775379800484))
        items.append(item(10, 317.7643606963552))
        items.append(item(11, 243.57001238834192))
        items.append(item(12, 186.45916150485752))

        def info(title, length):
            return {
                'title': title,
                'length': length,
            }
        trackinfo = []
        trackinfo.append(info('Alone', 238.893))
        trackinfo.append(info('The Woman in You', 341.44))
        trackinfo.append(info('Less', 245.59999999999999))
        trackinfo.append(info('Two Hands of a Prayer', 470.49299999999999))
        trackinfo.append(info('Please Bleed', 277.86599999999999))
        trackinfo.append(info('Suzie Blue', 269.30599999999998))
        trackinfo.append(info('Steal My Kisses', 245.36000000000001))
        trackinfo.append(info('Burn to Shine', 214.90600000000001))
        trackinfo.append(info('Show Me a Little Shame', 224.09299999999999))
        trackinfo.append(info('Forgiven', 317.19999999999999))
        trackinfo.append(info('Beloved One', 243.733))
        trackinfo.append(info('In the Lord\'s Arms', 186.13300000000001))

        ordered = autotag.order_items(items, trackinfo)
        for i, item in enumerate(ordered):
            self.assertEqual(i+1, item.track)