beets/test/test_media_field.py
2025-11-22 17:01:02 -05:00

48 lines
1.4 KiB
Python

import unittest
from beets.library import Item, Library
class MediaFieldTest(unittest.TestCase):
def setUp(self):
self.lib = Library(":memory:")
self.lib.add_album = self.lib.add_album
def add_album_with_items(self, items_data):
items = []
for data in items_data:
item = Item(**data)
items.append(item)
album = self.lib.add_album(items)
return album
def test_album_media_field_multiple_types(self):
items_data = [
{"title": "Track 1", "artist": "Artist A", "media": "CD"},
{"title": "Track 2", "artist": "Artist A", "media": "Vinyl"},
]
album = self.add_album_with_items(items_data)
media = album.media
assert sorted(media) == ["CD", "Vinyl"]
def test_album_media_field_single_type(self):
items_data = [
{"title": "Track 1", "artist": "Artist A", "media": "CD"},
{"title": "Track 2", "artist": "Artist A", "media": "CD"},
]
album = self.add_album_with_items(items_data)
media = album.media
assert media == ["CD"]
def test_album_with_no_media(self):
items_data = [
{"title": "Track 1", "artist": "Artist A"},
{"title": "Track 2", "artist": "Artist A"},
]
album = self.add_album_with_items(items_data)
media = album.media
assert media == []
if __name__ == "__main__":
unittest.main()