emmental/sidebar/test_view.py

61 lines
2.4 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import db
import unittest
from gi.repository import Gtk
from . import model
from . import row
from . import view
class TestTableView(unittest.TestCase):
def test_init(self):
table = view.TableView(db.artist.Table)
self.assertIsInstance(table, Gtk.ListView)
self.assertIsInstance(table.get_model(), model.TableSelection)
self.assertEqual(table.get_table(), db.artist.Table)
self.assertEqual(table.get_factory(), row.Factory)
self.assertTrue(table.has_css_class("normal-icons"))
self.assertTrue(table.get_vexpand())
def test_selection(self):
artist = db.artist.Table.find("Test Artist", "Test Sort")
table = view.TableView(db.artist.Table)
self.assertEqual(table.get_selection(), table.get_model())
self.assertEqual(table.get_selected_playlist(), artist)
def test_factory(self):
table = view.TableView(db.user.Table)
self.assertEqual(table.get_factory(), row.UserFactory)
table = view.TableView(db.artist.Table)
self.assertEqual(table.get_factory(), row.Factory)
table = view.TableView(db.genre.Table)
self.assertEqual(table.get_factory(), row.Factory)
table = view.TableView(db.decade.Table)
self.assertEqual(table.get_factory(), row.Factory)
table = view.TableView(db.library.Table)
self.assertEqual(table.get_factory(), row.LibraryFactory)
class TestTableWindow(unittest.TestCase):
def test_init(self):
window = view.TableWindow(db.artist.Table)
self.assertIsInstance(window, Gtk.ScrolledWindow)
self.assertIsInstance(window.get_child(), view.TableView)
self.assertEqual(window.get_table(), db.artist.Table)
def test_selection(self):
artist = db.artist.Table.find("Test Artist", "Test Sort")
window = view.TableWindow(db.artist.Table)
self.assertEqual(window.get_selection(), window.get_child().get_selection())
self.assertEqual(window.get_selected_playlist(), artist)
class TestUserView(unittest.TestCase):
def test_init(self):
user = view.UserView()
self.assertIsInstance(user, Gtk.ListView)
self.assertIsInstance(user.get_model(), model.UserSelection)
self.assertIsInstance(user.get_factory(), row.UserRowFactory)
self.assertTrue(user.has_css_class("normal-icons"))
self.assertTrue(user.get_single_click_activate())