emmental/tagdb/test_tags.py

51 lines
1.8 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
from lib import tagstore
from . import tags
from . import user
import unittest
class TestTags(unittest.TestCase):
def tearDown(self):
tags.reset()
def test_tags_init(self):
self.assertIsInstance(tags.Artist, tagstore.TagStore)
self.assertIsInstance(tags.Album, tagstore.TagSuperStore)
self.assertIsInstance(tags.Genre, tagstore.TagStore)
self.assertIsInstance(tags.Decade, tagstore.TagStore)
self.assertIsInstance(tags.Year, tagstore.TagSuperStore)
self.assertIsInstance(tags.User, user.UserTagStore)
def test_tags_reset(self):
tags.Artist.store = {"a" : 1 }
tags.Album.store = {("a", "b") : 2 }
tags.Genre.store = {"c" : 3 }
tags.Decade.store = {"d" : 4 }
tags.User.store = {"e" : 5 }
tags.reset()
self.assertEqual(tags.Artist.store, { })
self.assertEqual(tags.Album.store, { })
self.assertEqual(tags.Genre.store, { })
self.assertEqual(tags.Decade.store, { })
self.assertIsNotNone(tags.User["Collection"])
self.assertIsNotNone(tags.User["Up Next"])
self.assertIsNotNone(tags.User["Previous"])
self.assertIsNotNone(tags.User["Favorites"])
self.assertIsNotNone(tags.User["Up Next"])
def test_tags_state(self):
state = tags.get_state()
self.assertEqual(state, ( tags.Artist, tags.Album, tags.Genre,
tags.Decade, tags.Year, tags.User ))
tags.set_state(*(1, 2, 3, 4, 5, 6))
self.assertEqual(tags.Artist, 1)
self.assertEqual(tags.Album, 2)
self.assertEqual(tags.Genre, 3)
self.assertEqual(tags.Decade, 4)
self.assertEqual(tags.Year, 5)
self.assertEqual(tags.User, 6)
tags.set_state(*state)