emmental/db/test_playlist.py

44 lines
1.5 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import db
import unittest
from gi.repository import GObject
from . import playlist
class TestPlaylist(unittest.TestCase):
def test_init(self):
db.reset()
plist = playlist.Playlist({ 0:1, "plstateid":10 }, "missing-icon")
self.assertIsInstance(plist, GObject.GObject)
self.assertFalse(plist.has_children())
self.assertEqual(plist._rowid, 1)
self.assertEqual(plist.get_property("rowid"), 1)
self.assertEqual(plist._icon_name, "missing-icon")
self.assertEqual(plist.get_property("icon-name"), "missing-icon")
self.assertIsNone(plist._plstate)
self.assertIsNone(plist.get_property("plist_state"))
with self.assertRaises(NotImplementedError):
plist.get_property("name")
with self.assertRaises(NotImplementedError):
plist.delete()
class TestParentPlaylist(unittest.TestCase):
def test_init(self):
parent = playlist.ParentPlaylist({ 0:1, "plstateid":10 }, "missing-icon")
self.assertIsInstance(parent, playlist.Playlist)
self.assertTrue(parent.has_children())
with self.assertRaises(NotImplementedError):
parent.get_child_table()
with self.assertRaises(NotImplementedError):
parent.get_n_children()
with self.assertRaises(NotImplementedError):
parent.get_child(0)
with self.assertRaises(NotImplementedError):
parent.get_child_index(0)