# 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())