def test_numeric_ops(s): songs = [ Fakesong({"~#length": 4, "~#added": 5, "~#lastplayed": 1, "~#bitrate": 200, "date": "100", "~#rating": 0.1, "originaldate": "2004-01-01"}), Fakesong({"~#length": 7, "~#added": 7, "~#lastplayed": 88, "~#bitrate": 220, "date": "99", "~#rating": 0.3, "originaldate": "2002-01-01"}), Fakesong({"~#length": 1, "~#added": 3, "~#lastplayed": 43, "~#bitrate": 60, "date": "33", "~#rating": 0.5}) ] album = Album(songs[0]) album.songs = set(songs) s.failUnlessEqual(album.get("~#length"), 12) s.failUnlessEqual(album.get("~#length:sum"), 12) s.failUnlessEqual(album.get("~#length:max"), 7) s.failUnlessEqual(album.get("~#length:min"), 1) s.failUnlessEqual(album.get("~#length:avg"), 4) s.failUnlessEqual(album.get("~#length:foo"), 0) s.failUnlessEqual(album.get("~#added"), 7) s.failUnlessEqual(album.get("~#lastplayed"), 88) s.failUnlessEqual(album.get("~#bitrate"), 200) s.failUnlessEqual(album.get("~#year"), 33) s.failUnlessEqual(album.get("~#rating"), 0.3) s.failUnlessEqual(album.get("~#originalyear"), 2002)
def test_single_rating(s): songs = [Fakesong({"~#rating": 0.75})] album = Album(songs[0]) album.songs = set(songs) # One song should average to its own rating s.failUnlessEqual(album.get("~#rating:avg"), songs[0]("~#rating")) # BAV should now be default for rating s.failUnlessEqual(album.get("~#rating:bav"), album.get("~#rating:avg"))
def test_internal_tags(s): songs = [ Fakesong({ "~#length": 5, "discnumber": "1", "date": "2038" }), Fakesong({ "~#length": 7, "dummy": "d\ne", "discnumber": "2" }) ] album = Album(songs[0]) album.songs = set(songs) s.failIfEqual(album.comma("~long-length"), "") s.failIfEqual(album.comma("~tracks"), "") s.failIfEqual(album.comma("~discs"), "") s.failUnlessEqual(album.comma("~foo"), "") s.failUnlessEqual(album.comma(""), "") s.failUnlessEqual(album.comma("~"), "") s.failUnlessEqual(album.get("~#"), "")
def test_numeric_ops(s): songs = NUMERIC_SONGS album = Album(songs[0]) album.songs = set(songs) s.failUnlessEqual(album.get("~#length"), 12) s.failUnlessEqual(album.get("~#length:sum"), 12) s.failUnlessEqual(album.get("~#length:max"), 7) s.failUnlessEqual(album.get("~#length:min"), 1) s.failUnlessEqual(album.get("~#length:avg"), 4) s.failUnlessEqual(album.get("~#length:foo"), 0) s.failUnlessEqual(album.get("~#added"), 7) s.failUnlessEqual(album.get("~#lastplayed"), 88) s.failUnlessEqual(album.get("~#bitrate"), 200) s.failUnlessEqual(album.get("~#year"), 33) s.failUnlessEqual(album.get("~#rating"), 0.3) s.failUnlessEqual(album.get("~#originalyear"), 2002)
def test_internal_tags(s): songs = [ Fakesong({"~#length": 5, "discnumber": "1", "date": "2038"}), Fakesong({"~#length": 7, "dummy": "d\ne", "discnumber": "2"}) ] album = Album(songs[0]) album.songs = set(songs) s.failIfEqual(album.comma("~long-length"), "") s.failIfEqual(album.comma("~tracks"), "") s.failIfEqual(album.comma("~discs"), "") s.failUnlessEqual(album.comma("~foo"), "") s.failUnlessEqual(album.comma(""), "") s.failUnlessEqual(album.comma("~"), "") s.failUnlessEqual(album.get("~#"), "")