2021-08-24 15:39:13 -04:00
|
|
|
# Copyright 2021 (c) Anna Schumaker.
|
2021-11-13 21:10:52 -05:00
|
|
|
import datetime
|
2021-08-24 15:39:13 -04:00
|
|
|
import pathlib
|
|
|
|
import scanner
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
test_tracks = pathlib.Path("./data/Test Album")
|
|
|
|
track_01 = test_tracks / "01 - Test Track.ogg"
|
|
|
|
track_02 = test_tracks / "02 - Test {Disc 2}.ogg"
|
2021-08-25 11:13:07 -04:00
|
|
|
text_txt = test_tracks / "text.txt"
|
2021-08-24 15:39:13 -04:00
|
|
|
|
|
|
|
class TestMetadata(unittest.TestCase):
|
2021-12-27 16:28:11 -05:00
|
|
|
def test_init(self):
|
2021-08-24 15:39:13 -04:00
|
|
|
mdf = scanner.metadata.Metadata(track_01)
|
|
|
|
self.assertEqual(mdf.path, track_01)
|
|
|
|
self.assertIsNone(mdf.file)
|
|
|
|
|
2021-12-27 16:28:11 -05:00
|
|
|
def test_track_01(self):
|
2021-08-24 15:39:13 -04:00
|
|
|
with scanner.metadata.Metadata(track_01) as mdf:
|
|
|
|
self.assertEqual(mdf.album(), "Test Album")
|
|
|
|
self.assertEqual(mdf.artist(), "Test Artist")
|
|
|
|
self.assertEqual(mdf.artistsort(), "Artist, Test")
|
|
|
|
self.assertEqual(mdf.decade(), 2010)
|
|
|
|
self.assertEqual(mdf.discnumber(), 1)
|
|
|
|
self.assertEqual(mdf.discsubtitle(), None)
|
|
|
|
self.assertEqual(mdf.genres(), [ "Test" ])
|
|
|
|
self.assertEqual(mdf.length(), 10)
|
2021-11-13 21:10:52 -05:00
|
|
|
self.assertEqual(mdf.release(), datetime.date(2019, 2, 1))
|
2021-08-24 15:39:13 -04:00
|
|
|
self.assertEqual(mdf.title(), "Test Track")
|
|
|
|
self.assertEqual(mdf.tracknumber(), 1)
|
|
|
|
self.assertEqual(mdf.year(), 2019)
|
|
|
|
|
2021-12-27 16:28:11 -05:00
|
|
|
def test_track_02(self):
|
2021-08-24 15:39:13 -04:00
|
|
|
with scanner.metadata.Metadata(track_02) as mdf:
|
|
|
|
self.assertEqual(mdf.artist(), "Test Album Artist")
|
|
|
|
self.assertEqual(mdf.artistsort(), "Album Artist, Test")
|
|
|
|
self.assertEqual(mdf.discsubtitle(), "Electric Boogaloo")
|
|
|
|
self.assertEqual(mdf.genres(), [ "Test", "Genre", "List" ])
|
2021-11-13 21:10:52 -05:00
|
|
|
self.assertEqual(mdf.release(), datetime.date(2019, 1, 1))
|
2021-08-24 15:39:13 -04:00
|
|
|
self.assertEqual(mdf.year(), 2019)
|
2021-08-25 11:13:07 -04:00
|
|
|
|
2021-12-27 16:28:11 -05:00
|
|
|
def test_text_txt(self):
|
2021-08-25 11:13:07 -04:00
|
|
|
with scanner.metadata.Metadata(text_txt) as mdf:
|
|
|
|
mdf.artist()
|