emmental/trackdb/test_track.py

76 lines
3.1 KiB
Python
Raw Normal View History

# 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")
self.assertIsInstance(trak.tags, dict)
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")
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")
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")
def test_track_played(self):
trak = track.Track(1, test_tracks / "01 - Test Track.ogg")
trak.tags["playcount"] = 0
trak.tags["lastplayed"] = None
self.assertEqual(trak["playcount"], "0")
self.assertEqual(trak["lastplayed"], "Never")
trak.played()
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()))
trak.played()
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")