# 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()