emmental/playlist/test_playlist.py

46 lines
1.9 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
from gi.repository import Gtk
import lib
import playlist
import unittest
class ColumnEV:
def __init__(self, title, width, expand):
self.title = title
self.width = width
self.expand = expand
columns = [ ColumnEV("#", -1, False),
ColumnEV("Title", 250, True),
ColumnEV("Length", -1, False),
ColumnEV("Artist", 150, False),
ColumnEV("Album", 150, False),
ColumnEV("Year", -1, False),
ColumnEV("Count", -1, False),
ColumnEV("Last Played", 150, False) ]
class TestPlaylist(unittest.TestCase):
def test_playlist_init(self):
self.assertIsInstance(playlist.Model, playlist.model.TagModel)
self.assertIsInstance(playlist.FilterModel, Gtk.FilterListModel)
self.assertIsInstance(playlist.Selection, Gtk.MultiSelection)
self.assertIsInstance(playlist.View, Gtk.ColumnView)
self.assertIsInstance(playlist.Scroll, Gtk.ScrolledWindow)
self.assertEqual(playlist.FilterModel.get_model(), playlist.Model)
self.assertEqual(playlist.FilterModel.get_filter(),
playlist.Model.Controls.filter)
self.assertEqual(playlist.Selection.get_model(), playlist.FilterModel)
self.assertEqual(playlist.View.get_model(), playlist.Selection)
self.assertEqual(playlist.Scroll.get_child(), playlist.View)
self.assertTrue(playlist.View.get_hexpand())
self.assertTrue(playlist.View.get_vexpand())
self.assertTrue(playlist.View.has_css_class("data-table"))
self.assertTrue(playlist.View.get_enable_rubberband())
for (i, c) in enumerate(playlist.View.get_columns()):
self.assertEqual(c.get_title(), columns[i].title)
self.assertEqual(c.get_fixed_width(), columns[i].width)
self.assertEqual(c.get_expand(), columns[i].expand)