Ejemplo n.º 1
0
 def test_people(self):
     q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"),
                    ("performer", "C"), ("arranger", "A"),
                    ("albumartist", "B"), ("artist", "C")])
     self.failUnlessEqual(q.list("~people"), ["C", "B", "A"])
     self.failUnlessEqual(q.list("~people:roles"),
                          ["C", "B (Guitar)", "A (Arrangement, Vocals)"])
Ejemplo n.º 2
0
 def test_people(self):
     q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"),
                    ("performer", "C"), ("arranger", "A"),
                    ("albumartist", "B"), ("artist", "C")])
     self.failUnlessEqual(q.list("~people"), ["C", "B", "A"])
     self.failUnlessEqual(q.list("~people:roles"),
                      ["C", "B (Guitar)", "A (Arrangement, Vocals)"])
Ejemplo n.º 3
0
 def test_performers(self):
     q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"), ("performer", "C")])
     self.failUnless("A (Vocals)" in q.list("~performers"))
     self.failUnless("B (Guitar)" in q.list("~performers"))
     self.failUnless("C" in q.list("~performers"))
     self.failUnless("A (Vocals)" in q.list("~people"))
     self.failUnless("B (Guitar)" in q.list("~people"))
     self.failUnlessEqual(len(q.list("~performers")), 3)
Ejemplo n.º 4
0
    def test_people_individuals(self):
        q = AudioFile({"artist": "A\nX", "albumartist": "Various Artists"})
        self.failUnlessEqual(q.list("~people:real"), ["A", "X"])

        lonely = AudioFile({"artist": "various artists", "title": "blah"})
        self.failUnlessEqual(lonely.list("~people:real"), ["various artists"])

        lots = AudioFile({"artist": "Various Artists", "albumartist": "V.A."})
        self.failUnlessEqual(lots.list("~people:real"), ["Various Artists"])
Ejemplo n.º 5
0
 def test_people_mix(self):
     q = AudioFile([
         ("performer:arrangement", "A"),
         ("arranger", "A"),
         ("performer", "A"),
         ("performer:foo", "A"),
     ])
     self.failUnlessEqual(q.list("~people"), ["A"])
     self.failUnlessEqual(q.list("~people:roles"),
                          ["A (Arrangement, Arrangement, Foo)"])
Ejemplo n.º 6
0
 def test_people_mix(self):
     q = AudioFile([
         ("performer:arrangement", "A"),
         ("arranger", "A"),
         ("performer", "A"),
         ("performer:foo", "A"),
     ])
     self.failUnlessEqual(q.list("~people"), ["A"])
     self.failUnlessEqual(q.list("~people:roles"),
                          ["A (Arrangement, Arrangement, Foo)"])
Ejemplo n.º 7
0
    def test_people_multi_value(self):
        q = AudioFile([
            ("arranger", "A\nX"),
            ("performer", "A\nY"),
            ("performer:foo", "A\nX"),
        ])

        self.failUnlessEqual(q.list("~people"), ["A", "Y", "X"])
        self.failUnlessEqual(
            q.list("~people:roles"),
            ["A (Arrangement, Foo)", "Y", "X (Arrangement, Foo)"])
Ejemplo n.º 8
0
 def test_remove(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.add("foo", "another")
     song.add("foo", "one more")
     song.remove("foo", "another")
     self.failUnlessEqual(song.list("foo"), ["bar", "one more"])
     song.remove("foo", "bar")
     self.failUnlessEqual(song.list("foo"), ["one more"])
     song.remove("foo", "one more")
     self.failIf("foo" in song)
Ejemplo n.º 9
0
    def test_people_individuals(self):
        q = AudioFile({"artist": "A\nX", "albumartist": "Various Artists"})
        self.failUnlessEqual(q.list("~people:real"), ["A", "X"])

        lonely = AudioFile({"artist": "various artists", "title": "blah"})
        self.failUnlessEqual(lonely.list("~people:real"),
                             ["various artists"])

        lots = AudioFile({"artist": "Various Artists", "albumartist": "V.A."})
        self.failUnlessEqual(lots.list("~people:real"),
                             ["Various Artists"])
Ejemplo n.º 10
0
    def test_people_multi_value(self):
        q = AudioFile([
            ("arranger", "A\nX"),
            ("performer", "A\nY"),
            ("performer:foo", "A\nX"),
        ])

        self.failUnlessEqual(q.list("~people"), ["A", "Y", "X"])
        self.failUnlessEqual(
            q.list("~people:roles"),
            ["A (Arrangement, Foo)", "Y", "X (Arrangement, Foo)"])
Ejemplo n.º 11
0
 def test_remove(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.add("foo", "another")
     song.add("foo", "one more")
     song.remove("foo", "another")
     self.failUnlessEqual(song.list("foo"), ["bar", "one more"])
     song.remove("foo", "bar")
     self.failUnlessEqual(song.list("foo"), ["one more"])
     song.remove("foo", "one more")
     self.failIf("foo" in song)
Ejemplo n.º 12
0
 def test_peoplesort(self):
     q = AudioFile([("performer:vocals", "The A"),
                    ("performersort:vocals", "A, The"),
                    ("performer:guitar", "The B"),
                    ("performersort:guitar", "B, The"),
                    ("performer", "The C"), ("performersort", "C, The"),
                    ("albumartist", "The B"),
                    ("albumartistsort", "B, The")])
     self.failUnlessEqual(q.list("~peoplesort"),
                          ["B, The", "C, The", "A, The"])
     self.failUnlessEqual(q.list("~peoplesort:roles"),
                          ["B, The (Guitar)", "C, The", "A, The (Vocals)"])
Ejemplo n.º 13
0
 def test_peoplesort(self):
     q = AudioFile([("performer:vocals", "The A"),
                    ("performersort:vocals", "A, The"),
                    ("performer:guitar", "The B"),
                    ("performersort:guitar", "B, The"),
                    ("performer", "The C"),
                    ("performersort", "C, The"),
                    ("albumartist", "The B"),
                    ("albumartistsort", "B, The")])
     self.failUnlessEqual(q.list("~peoplesort"),
                          ["B, The", "C, The", "A, The"])
     self.failUnlessEqual(q.list("~peoplesort:roles"),
                          ["B, The (Guitar)", "C, The", "A, The (Vocals)"])
Ejemplo n.º 14
0
 def test_add(self):
     song = AudioFile()
     self.failIf("foo" in song)
     song.add("foo", "bar")
     self.failUnlessEqual(song["foo"], "bar")
     song.add("foo", "another")
     self.failUnlessEqual(song.list("foo"), ["bar", "another"])
Ejemplo n.º 15
0
 def test_add(self):
     song = AudioFile()
     self.failIf("foo" in song)
     song.add("foo", "bar")
     self.failUnlessEqual(song["foo"], "bar")
     song.add("foo", "another")
     self.failUnlessEqual(song.list("foo"), ["bar", "another"])
Ejemplo n.º 16
0
    def test_performers_multi_value(self):
        q = AudioFile([
            ("performer:vocals", "X\nA\nY"),
            ("performer:guitar", "Y\nB\nA"),
            ("performer", "C\nF\nB\nA"),
        ])

        self.failUnlessEqual(
            set(q.list("~performer")), set(["A", "B", "C", "F", "X", "Y"]))

        self.failUnlessEqual(
            set(q.list("~performer:roles")), set([
                    "A (Guitar, Vocals)",
                    "C",
                    "B (Guitar)",
                    "X (Vocals)",
                    "Y (Guitar, Vocals)",
                    "F",
                ]))
Ejemplo n.º 17
0
 def test_change(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.add("foo", "another")
     song.change("foo", "bar", "one more")
     self.failUnlessEqual(song.list("foo"), ["one more", "another"])
     song.change("foo", "does not exist", "finally")
     self.failUnlessEqual(song["foo"], "finally")
     song.change("foo", "finally", "we're done")
     self.failUnlessEqual(song["foo"], "we're done")
Ejemplo n.º 18
0
 def test_change(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.add("foo", "another")
     song.change("foo", "bar", "one more")
     self.failUnlessEqual(song.list("foo"), ["one more", "another"])
     song.change("foo", "does not exist", "finally")
     self.failUnlessEqual(song["foo"], "finally")
     song.change("foo", "finally", "we're done")
     self.failUnlessEqual(song["foo"], "we're done")
Ejemplo n.º 19
0
    def test_performers_multi_value(self):
        q = AudioFile([
            ("performer:vocals", "X\nA\nY"),
            ("performer:guitar", "Y\nB\nA"),
            ("performer", "C\nF\nB\nA"),
        ])

        self.failUnlessEqual(set(q.list("~performer")),
                             set(["A", "B", "C", "F", "X", "Y"]))

        self.failUnlessEqual(
            set(q.list("~performer:roles")),
            set([
                "A (Guitar, Vocals)",
                "C",
                "B (Guitar)",
                "X (Vocals)",
                "Y (Guitar, Vocals)",
                "F",
            ]))
Ejemplo n.º 20
0
 def test_performers(self):
     q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"),
                    ("performer", "C")])
     self.failUnlessEqual(set(q.list("~performers")), set(["A", "B", "C"]))
     self.failUnlessEqual(set(q.list("~performers:roles")),
                          set(["A (Vocals)", "B (Guitar)", "C"]))
Ejemplo n.º 21
0
 def test_remove_unknown(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.remove("foo", "not in list")
     song.remove("nope")
     self.failUnlessEqual(song.list("foo"), ["bar"])
Ejemplo n.º 22
0
 def test_remove_unknown(self):
     song = AudioFile()
     song.add("foo", "bar")
     song.remove("foo", "not in list")
     song.remove("nope")
     self.failUnlessEqual(song.list("foo"), ["bar"])
Ejemplo n.º 23
0
 def test_performers(self):
     q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"),
                    ("performer", "C")])
     self.failUnlessEqual(set(q.list("~performers")), set(["A", "B", "C"]))
     self.failUnlessEqual(set(q.list("~performers:roles")),
                          set(["A (Vocals)", "B (Guitar)", "C"]))