82 lines
3.1 KiB
Python
82 lines
3.1 KiB
Python
# Copyright 2022 (c) Anna Schumaker.
|
|
"""Tests our Tracklist Footer."""
|
|
import unittest
|
|
import emmental.tracklist.footer
|
|
from gi.repository import Gtk
|
|
|
|
|
|
class TestFooter(unittest.TestCase):
|
|
"""Test the Tracklist Footer."""
|
|
|
|
def setUp(self):
|
|
"""Set up common variables."""
|
|
self.footer = emmental.tracklist.footer.Footer()
|
|
|
|
def test_init(self):
|
|
"""Test that the footer is initialized properly."""
|
|
self.assertIsInstance(self.footer, Gtk.CenterBox)
|
|
self.assertTrue(self.footer.has_css_class("dim-label"))
|
|
|
|
def test_count(self):
|
|
"""Test the count property."""
|
|
self.assertIsInstance(self.footer._count, Gtk.Label)
|
|
self.assertEqual(self.footer._count.get_xalign(), 0.0)
|
|
self.assertEqual(self.footer.get_start_widget(), self.footer._count)
|
|
|
|
self.assertEqual(self.footer.count, 0)
|
|
self.assertEqual(self.footer._count.get_text(), "Showing 0 tracks")
|
|
self.footer.count = 1
|
|
self.assertEqual(self.footer._count.get_text(), "Showing 1 track")
|
|
self.footer.count = 2
|
|
self.assertEqual(self.footer._count.get_text(), "Showing 2 tracks")
|
|
|
|
def test_selected(self):
|
|
"""Test the selected property."""
|
|
self.assertIsInstance(self.footer._selected, Gtk.Label)
|
|
self.assertEqual(self.footer._selected.get_xalign(), 0.5)
|
|
self.assertEqual(self.footer.get_center_widget(),
|
|
self.footer._selected)
|
|
|
|
self.assertEqual(self.footer.selected, 0)
|
|
self.assertEqual(self.footer._selected.get_text(), "")
|
|
self.footer.selected = 1
|
|
self.assertEqual(self.footer._selected.get_text(), "1 track selected")
|
|
self.footer.selected = 2
|
|
self.assertEqual(self.footer._selected.get_text(), "2 tracks selected")
|
|
self.footer.selected = 0
|
|
self.assertEqual(self.footer._selected.get_text(), "")
|
|
|
|
def test_runtime(self):
|
|
"""Test the runtime property."""
|
|
self.assertIsInstance(self.footer._runtime, Gtk.Label)
|
|
self.assertEqual(self.footer._runtime.get_xalign(), 1.0)
|
|
self.assertEqual(self.footer.get_end_widget(), self.footer._runtime)
|
|
|
|
self.assertEqual(self.footer.runtime, 0.0)
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"0 seconds")
|
|
|
|
self.footer.runtime = 1.2
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"1 second")
|
|
|
|
self.footer.runtime = 65
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"1 minute, 5 seconds")
|
|
|
|
self.footer.runtime = 3720
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"1 hour, 2 minutes")
|
|
|
|
self.footer.runtime = 93600
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"1 day, 2 hours")
|
|
|
|
self.footer.runtime = 777600
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"1 week, 2 days")
|
|
|
|
self.footer.runtime = 1209600
|
|
self.assertEqual(self.footer._runtime.get_text(),
|
|
"2 weeks")
|