emmental/tests/sidebar/test_genre.py

41 lines
1.5 KiB
Python

# Copyright 2022 (c) Anna Schumaker.
"""Tests our genre section."""
import emmental.sidebar.genre
import tests.util
from gi.repository import Gtk
class TestGenre(tests.util.TestCase):
"""Test our Genre section."""
def setUp(self):
"""Set up common variables."""
super().setUp()
self.genres = emmental.sidebar.genre.Section(self.sql.genres)
def test_init(self):
"""Test that the genre section is set up correctly."""
self.assertIsInstance(self.genres, emmental.sidebar.section.Section)
self.assertEqual(self.genres._factory.row_type,
emmental.sidebar.genre.GenreRow)
self.assertEqual(self.genres.table, self.sql.genres)
self.assertEqual(self.genres.icon_name, "theater")
self.assertEqual(self.genres.title, "Genres")
def test_subtitle(self):
"""Test that the subtitle property is set properly."""
self.assertEqual(self.genres.subtitle, "0 genres")
self.sql.genres.create("Genre 1")
self.assertEqual(self.genres.subtitle, "1 genre")
self.sql.genres.create("Genre 2")
self.assertEqual(self.genres.subtitle, "2 genres")
def test_genre_row(self):
"""Test the GenreRow."""
listitem = Gtk.ListItem()
row = emmental.sidebar.genre.GenreRow(listitem)
self.assertIsInstance(row, emmental.sidebar.row.TreeRow)
self.assertIsInstance(row.child, emmental.sidebar.row.Row)
self.assertFalse(row.indented)