57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
|
import unittest
|
||
|
|
||
|
import music_kraken
|
||
|
from music_kraken.objects import Song, Album, Artist, Collection
|
||
|
|
||
|
class TestCollection(unittest.TestCase):
|
||
|
def test_song_album_relation(self):
|
||
|
"""
|
||
|
Tests that
|
||
|
album = album.any_song.one_album
|
||
|
is the same object
|
||
|
"""
|
||
|
|
||
|
artist: Artist = Artist(
|
||
|
name="artist",
|
||
|
main_album_list=[
|
||
|
Album(
|
||
|
title="album",
|
||
|
song_list=[
|
||
|
Song(
|
||
|
title="song",
|
||
|
album_list=[
|
||
|
Album(title="album", albumsort=123),
|
||
|
],
|
||
|
),
|
||
|
Song(
|
||
|
title="other_song",
|
||
|
album_list=[
|
||
|
Album(title="album", albumsort=423),
|
||
|
],
|
||
|
),
|
||
|
]
|
||
|
),
|
||
|
Album(title="album", barcode="1234567890123"),
|
||
|
]
|
||
|
)
|
||
|
|
||
|
a = artist.main_album_collection[0]
|
||
|
b = a.song_collection[0].album_collection[0]
|
||
|
c = a.song_collection[1].album_collection[0]
|
||
|
d = b.song_collection[0].album_collection[0]
|
||
|
e = d.song_collection[0].album_collection[0]
|
||
|
f = e.song_collection[0].album_collection[0]
|
||
|
g = f.song_collection[0].album_collection[0]
|
||
|
|
||
|
self.assertTrue(a.id == b.id == c.id == d.id == e.id == f.id == g.id)
|
||
|
self.assertTrue(a.title == b.title == c.title == d.title == e.title == f.title == g.title == "album")
|
||
|
self.assertTrue(a.barcode == b.barcode == c.barcode == d.barcode == e.barcode == f.barcode == g.barcode == "1234567890123")
|
||
|
self.assertTrue(a.albumsort == b.albumsort == c.albumsort == d.albumsort == e.albumsort == f.albumsort == g.albumsort == 123)
|
||
|
|
||
|
d.title = "new_title"
|
||
|
|
||
|
self.assertTrue(a.title == b.title == c.title == d.title == e.title == f.title == g.title == "new_title")
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|