2020-10-12 16:22:00 -04:00
|
|
|
# Copyright 2020 (c) Anna Schumaker.
|
|
|
|
from . import track
|
|
|
|
import datetime
|
|
|
|
import pathlib
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
test_tracks = pathlib.Path("./trier/Test Album")
|
|
|
|
|
|
|
|
class TestTrack(unittest.TestCase):
|
|
|
|
def test_track_init(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.trackid, 1)
|
|
|
|
self.assertEqual(trak.filepath, test_tracks / "01 - Test Track.ogg")
|
2020-10-12 17:02:13 -04:00
|
|
|
self.assertIsInstance(trak.tags, dict)
|
2020-10-18 12:53:57 -04:00
|
|
|
|
|
|
|
def test_track_album(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["album"], "Test Album")
|
|
|
|
self.assertEqual(trak["album"], "Test Album")
|
|
|
|
|
|
|
|
def test_track_artist(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["artist"], "Test Artist")
|
|
|
|
self.assertEqual(trak["artist"], "Test Artist")
|
|
|
|
trak2 = track.Track(2, test_tracks / "02 - Test {Disc 2}.ogg")
|
|
|
|
self.assertEqual(trak2.tags["artist"], "Test Album Artist")
|
|
|
|
|
2020-10-18 13:38:27 -04:00
|
|
|
def test_track_decade(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.decade(), 2010)
|
|
|
|
trak.tags["year"] = 1974
|
|
|
|
self.assertEqual(trak.decade(), 1970)
|
|
|
|
|
2020-10-18 12:53:57 -04:00
|
|
|
def test_track_discnumber(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["discnumber"], 1)
|
|
|
|
self.assertEqual(trak["discnumber"], "01")
|
|
|
|
|
2020-10-18 13:26:40 -04:00
|
|
|
def test_track_genres(self):
|
|
|
|
trak = track.Track(1, test_tracks / "02 - Test {Disc 2}.ogg")
|
|
|
|
self.assertEqual(trak.tags["genre"], [ "Test", "Genre", "List" ])
|
|
|
|
self.assertEqual(trak["genre"], "Test, Genre, List")
|
|
|
|
lst = [ "Test", "Genre", "List" ]
|
|
|
|
for g in trak.genres():
|
|
|
|
self.assertEqual(g, lst.pop(0))
|
|
|
|
|
2020-10-18 12:53:57 -04:00
|
|
|
def test_track_length(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["length"], 10)
|
|
|
|
self.assertEqual(trak["length"], "0:10")
|
|
|
|
trak.tags["length"] = 61
|
|
|
|
self.assertEqual(trak["length"], "1:01")
|
|
|
|
trak.tags["length"] = 3
|
|
|
|
self.assertEqual(trak["length"], "0:03")
|
2020-10-12 16:22:00 -04:00
|
|
|
|
|
|
|
def test_track_played(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
2020-10-18 12:53:57 -04:00
|
|
|
trak.tags["playcount"] = 0
|
|
|
|
trak.tags["lastplayed"] = None
|
|
|
|
self.assertEqual(trak["playcount"], "0")
|
|
|
|
self.assertEqual(trak["lastplayed"], "Never")
|
2020-10-12 16:22:00 -04:00
|
|
|
trak.played()
|
2020-10-18 12:53:57 -04:00
|
|
|
self.assertEqual(trak.tags["playcount"], 1)
|
|
|
|
self.assertEqual(trak.tags["lastplayed"], datetime.date.today())
|
|
|
|
self.assertEqual(trak["playcount"], "1")
|
|
|
|
self.assertEqual(trak["lastplayed"], str(datetime.date.today()))
|
2020-10-12 16:22:00 -04:00
|
|
|
trak.played()
|
2020-10-18 12:53:57 -04:00
|
|
|
self.assertEqual(trak.tags["playcount"], 2)
|
|
|
|
self.assertEqual(trak["playcount"], "2")
|
|
|
|
|
|
|
|
def test_track_title(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["title"], "Test Track")
|
|
|
|
self.assertEqual(trak["title"], "Test Track")
|
|
|
|
|
|
|
|
def test_track_tracknumber(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["tracknumber"], 1)
|
|
|
|
self.assertEqual(trak["tracknumber"], "01")
|
|
|
|
trak.tags["tracknumber"] = 10
|
|
|
|
self.assertEqual(trak["tracknumber"], "10")
|
|
|
|
|
|
|
|
def test_track_year(self):
|
|
|
|
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
|
|
|
|
self.assertEqual(trak.tags["year"], 2019)
|
|
|
|
self.assertEqual(trak["year"], "2019")
|
|
|
|
trak2 = track.Track(2, test_tracks / "02 - Test {Disc 2}.ogg")
|
|
|
|
self.assertEqual(trak2.tags["year"], 2019)
|
|
|
|
self.assertEqual(trak2["year"], "2019")
|