emmental/scanner/test_metadata.py

45 lines
1.8 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import datetime
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"
text_txt = test_tracks / "text.txt"
class TestMetadata(unittest.TestCase):
def test_init(self):
mdf = scanner.metadata.Metadata(track_01)
self.assertEqual(mdf.path, track_01)
self.assertIsNone(mdf.file)
def test_track_01(self):
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)
self.assertEqual(mdf.release(), datetime.date(2019, 2, 1))
self.assertEqual(mdf.title(), "Test Track")
self.assertEqual(mdf.tracknumber(), 1)
self.assertEqual(mdf.year(), 2019)
def test_track_02(self):
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" ])
self.assertEqual(mdf.release(), datetime.date(2019, 1, 1))
self.assertEqual(mdf.year(), 2019)
def test_text_txt(self):
with scanner.metadata.Metadata(text_txt) as mdf:
mdf.artist()