예제 #1
0
 def test_sort_combine(s):
     pat = Pattern('<album> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'Album5 Artist1', u'SortAlbum5 SortA1'),
                        (u'Album5 ', u'SortAlbum5 SortA2'),
                        (u'Album5 Artist3', u'SortAlbum5 Artist3')})
     pat = Pattern('x <artist> <album>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'x Artist1 Album5', u'x SortA1 SortAlbum5'),
                        (u'x  Album5', u'x SortA2 SortAlbum5'),
                        (u'x Artist3 Album5', u'x Artist3 SortAlbum5')})
     pat = Pattern(' <artist> <album> xx')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u' Artist1 Album5 xx', u' SortA1 SortAlbum5 xx'),
                        (u'  Album5 xx', u' SortA2 SortAlbum5 xx'),
                        (u' Artist3 Album5 xx', u' Artist3 SortAlbum5 xx')})
     pat = Pattern('<album> <tracknumber> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'Album5 7/8 Artist1', u'SortAlbum5 7/8 SortA1'),
                        (u'Album5 7/8 ', u'SortAlbum5 7/8 SortA2'),
                        (u'Album5 7/8 Artist3', u'SortAlbum5 7/8 Artist3')})
     pat = Pattern('<tracknumber> <album> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'7/8 Album5 Artist1', u'7/8 SortAlbum5 SortA1'),
                        (u'7/8 Album5 ', u'7/8 SortAlbum5 SortA2'),
                        (u'7/8 Album5 Artist3', u'7/8 SortAlbum5 Artist3')})
예제 #2
0
 def test_same(s):
     pat = Pattern('<~basename> <title>')
     s.failUnlessEqual(pat.format_list(s.a),
                       {(pat.format(s.a), pat.format(s.a))})
     pat = Pattern('/a<genre|/<genre>>/<title>')
     s.failUnlessEqual(pat.format_list(s.a),
                       {(pat.format(s.a), pat.format(s.a))})
예제 #3
0
 def test_sort_combine(s):
     pat = Pattern('<album> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'Album5 Artist1', u'SortAlbum5 SortA1'),
                        (u'Album5 ', u'SortAlbum5 SortA2'),
                        (u'Album5 Artist3', u'SortAlbum5 Artist3')})
     pat = Pattern('x <artist> <album>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'x Artist1 Album5', u'x SortA1 SortAlbum5'),
                        (u'x  Album5', u'x SortA2 SortAlbum5'),
                        (u'x Artist3 Album5', u'x Artist3 SortAlbum5')})
     pat = Pattern(' <artist> <album> xx')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u' Artist1 Album5 xx', u' SortA1 SortAlbum5 xx'),
                        (u'  Album5 xx', u' SortA2 SortAlbum5 xx'),
                        (u' Artist3 Album5 xx', u' Artist3 SortAlbum5 xx')})
     pat = Pattern('<album> <tracknumber> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'Album5 7/8 Artist1', u'SortAlbum5 7/8 SortA1'),
                        (u'Album5 7/8 ', u'SortAlbum5 7/8 SortA2'),
                        (u'Album5 7/8 Artist3', u'SortAlbum5 7/8 Artist3')})
     pat = Pattern('<tracknumber> <album> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'7/8 Album5 Artist1', u'7/8 SortAlbum5 SortA1'),
                        (u'7/8 Album5 ', u'7/8 SortAlbum5 SortA2'),
                        (u'7/8 Album5 Artist3', u'7/8 SortAlbum5 Artist3')})
예제 #4
0
 def test_same(s):
     pat = Pattern('<~basename> <title>')
     s.failUnlessEqual(pat.format_list(s.a),
                       {(pat.format(s.a), pat.format(s.a))})
     pat = Pattern('/a<genre|/<genre>>/<title>')
     s.failUnlessEqual(pat.format_list(s.a),
                       {(pat.format(s.a), pat.format(s.a))})
예제 #5
0
 def test_sort(s):
     pat = Pattern('<album>')
     s.failUnlessEqual(pat.format_list(s.f), {(u'Best Of', u'Best Of')})
     pat = Pattern('<album>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Album5', u'SortAlbum5')})
     pat = Pattern('<artist>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'Artist3', u'Artist3')})
     pat = Pattern('<artist> x')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1 x', u'SortA1 x'),
                                              (u'Artist3 x', u'Artist3 x')})
예제 #6
0
 def test_sort(s):
     pat = Pattern('<album>')
     s.failUnlessEqual(pat.format_list(s.f),
                       {(u'Best Of', u'Best Of')})
     pat = Pattern('<album>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Album5', u'SortAlbum5')})
     pat = Pattern('<artist>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'', u'SortA2'),
                                              (u'Artist3', u'Artist3')})
     pat = Pattern('<artist> x')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1 x', u'SortA1 x'),
                                              (u' x', u'SortA2 x'),
                                              (u'Artist3 x', u'Artist3 x')})
예제 #7
0
 def test_sort_tied(s):
     pat = Pattern('<~artist~album>')
     s.failUnlessEqual(
         pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                (u'Artist3', u'Artist3'),
                                (u'Album5', u'SortAlbum5')})
     pat = Pattern('<~album~artist>')
     s.failUnlessEqual(
         pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                (u'Artist3', u'Artist3'),
                                (u'Album5', u'SortAlbum5')})
     pat = Pattern('<~artist~artist>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'Artist3', u'Artist3')})
예제 #8
0
 def test_sort_tied(s):
     pat = Pattern('<~artist~album>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'', u'SortA2'),
                                              (u'Artist3', u'Artist3'),
                                              (u'Album5', u'SortAlbum5')})
     pat = Pattern('<~album~artist>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'', u'SortA2'),
                                              (u'Artist3', u'Artist3'),
                                              (u'Album5', u'SortAlbum5')})
     pat = Pattern('<~artist~artist>')
     s.failUnlessEqual(pat.format_list(s.h), {(u'Artist1', u'SortA1'),
                                              (u'', u'SortA2'),
                                              (u'Artist3', u'Artist3')})
예제 #9
0
 def test_same2(s):
     fpat = FileFromPattern('<~filename>')
     pat = Pattern('<~filename>')
     s.assertEquals(fpat.format_list(s.a),
                    {(fpat.format(s.a), fpat.format(s.a))})
     s.assertEquals(pat.format_list(s.a),
                    {(pat.format(s.a), pat.format(s.a))})
예제 #10
0
 def test_same2(s):
     fpat = FileFromPattern('<~filename>')
     pat = Pattern('<~filename>')
     s.assertEquals(fpat.format_list(s.a),
                    {(fpat.format(s.a), fpat.format(s.a))})
     s.assertEquals(pat.format_list(s.a),
                    {(pat.format(s.a), pat.format(s.a))})
예제 #11
0
 def test_sort_multiply(s):
     pat = Pattern('<artist> <artist>')
     s.failUnlessEqual(
         pat.format_list(s.h), {(u'Artist1 Artist1', u'SortA1 SortA1'),
                                (u'Artist3 Artist1', u'Artist3 SortA1'),
                                (u'Artist1 Artist3', u'SortA1 Artist3'),
                                (u'Artist3 Artist3', u'Artist3 Artist3')})
예제 #12
0
 def test_sort_multiply(s):
     pat = Pattern('<artist> <artist>')
     s.failUnlessEqual(pat.format_list(s.h),
                       {(u'Artist1 Artist1', u'SortA1 SortA1'),
                        (u' Artist1', u'SortA2 SortA1'),
                        (u'Artist3 Artist1', u'Artist3 SortA1'),
                        (u'Artist1 ', u'SortA1 SortA2'),
                        (u' ', u'SortA2 SortA2'),
                        (u'Artist3 ', u'Artist3 SortA2'),
                        (u'Artist1 Artist3', u'SortA1 Artist3'),
                        (u' Artist3', u'SortA2 Artist3'),
                        (u'Artist3 Artist3', u'Artist3 Artist3')})
예제 #13
0
 def test_tied(s):
     pat = Pattern('<genre>')
     s.failUnlessEqual(pat.format_list(s.c), {'/', '/'})
     pat = Pattern('<performer>')
     s.failUnlessEqual(pat.format_list(s.d), {'a', 'b'})
     pat = Pattern('<performer><performer>')
     s.failUnlessEqual(set(pat.format_list(s.d)), {'aa', 'ab', 'ba', 'bb'})
     pat = Pattern('<~performer~artist>')
     s.failUnlessEqual(pat.format_list(s.d),
                       {'a - foo', 'b - foo', 'a - bar', 'b - bar'})
     pat = Pattern('<performer~artist>')
     s.failUnlessEqual(pat.format_list(s.d),
                       {'a - foo', 'b - foo', 'a - bar', 'b - bar'})
     pat = Pattern('<artist|<artist>.|<performer>>')
     s.failUnlessEqual(pat.format_list(s.d), {'foo.', 'bar.'})
     pat = Pattern('<artist|<artist|<artist>.|<performer>>>')
     s.failUnlessEqual(pat.format_list(s.d), {'foo.', 'bar.'})
예제 #14
0
 def test_tied(s):
     pat = Pattern('<genre>')
     s.failUnlessEqual(pat.format_list(s.c), {'/', '/'})
     pat = Pattern('<performer>')
     s.failUnlessEqual(pat.format_list(s.d), {'a', 'b'})
     pat = Pattern('<performer><performer>')
     s.failUnlessEqual(set(pat.format_list(s.d)),
                       {'aa', 'ab', 'ba', 'bb'})
     pat = Pattern('<~performer~artist>')
     s.failUnlessEqual(pat.format_list(s.d),
                       {'a - foo', 'b - foo', 'a - bar', 'b - bar'})
     pat = Pattern('<performer~artist>')
     s.failUnlessEqual(pat.format_list(s.d),
                       {'a - foo', 'b - foo', 'a - bar', 'b - bar'})
     pat = Pattern('<artist|<artist>.|<performer>>')
     s.failUnlessEqual(pat.format_list(s.d), {'foo.', 'bar.'})
     pat = Pattern('<artist|<artist|<artist>.|<performer>>>')
     s.failUnlessEqual(pat.format_list(s.d), {'foo.', 'bar.'})
예제 #15
0
    def test_missing_value(self):
        pat = Pattern('<genre> - <artist>')
        self.assertEqual(pat.format_list(self.a), set([" - Artist"]))

        pat = Pattern('')
        self.assertEqual(pat.format_list(self.a), set([""]))
예제 #16
0
 def test_same2(s):
     fpat = FileFromPattern('<~filename>')
     pat = Pattern('<~filename>')
     s.assertEquals(fpat.format_list(s.a), set([fpat.format(s.a)]))
     s.assertEquals(pat.format_list(s.a), set([pat.format(s.a)]))
예제 #17
0
 def test_string(s):
     pat = Pattern('display')
     s.assertEqual(pat.format_list(s.a), {("display", "display")})
예제 #18
0
 def test_missing_value(self):
     pat = Pattern('<genre> - <artist>')
     self.assertEqual(pat.format_list(self.a),
                      {(" - Artist", " - Artist")})
     pat = Pattern('')
     self.assertEqual(pat.format_list(self.a), {("", "")})
예제 #19
0
 def test_same2(s):
     fpat = FileFromPattern('<~filename>')
     pat = Pattern('<~filename>')
     s.assertEquals(fpat.format_list(s.a), set([fpat.format(s.a)]))
     s.assertEquals(pat.format_list(s.a), set([pat.format(s.a)]))
예제 #20
0
 def test_numeric(self):
     pat = Pattern("<~#rating>")
     self.assertEqual(pat.format_list(self.a), {("0.50", "0.50")})
예제 #21
0
 def test_empty(self):
     pat = Pattern("<nopenope>")
     self.assertEqual(pat.format_list(self.a), {("", "")})
예제 #22
0
 def test_empty(self):
     pat = Pattern("<nopenope>")
     self.assertEqual(pat.format_list(self.a), {("", "")})
예제 #23
0
 def test_numeric(self):
     pat = Pattern("<~#rating>")
     self.assertEqual(pat.format_list(self.a), {("0.50", "0.50")})
예제 #24
0
    def test_missing_value(self):
        pat = Pattern('<genre> - <artist>')
        self.assertEqual(pat.format_list(self.a), {" - Artist"})

        pat = Pattern('')
        self.assertEqual(pat.format_list(self.a), {""})
예제 #25
0
 def test_string(s):
     pat = Pattern('display')
     s.assertEqual(pat.format_list(s.a), {("display", "display")})