emmental/playlist/test_runtime.py

55 lines
2.2 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
from . import runtime
from gi.repository import Gtk
import unittest
class TestPlaylistRuntime(unittest.TestCase):
def setUp(self):
runtime.set_runtime(0)
runtime.set_visible_count(0)
def test_runtime_init(self):
self.assertIsInstance(runtime.Runtime, Gtk.Label)
self.assertIsInstance(runtime.Visible, Gtk.Label)
self.assertIsInstance(runtime.Box, Gtk.Box)
self.assertEqual(runtime.Runtime.get_text(), "0 seconds")
self.assertEqual(runtime.Runtime.get_halign(), Gtk.Align.END)
self.assertTrue(runtime.Runtime.get_hexpand())
self.assertEqual(runtime.Visible.get_text(), "Showing 0 tracks")
self.assertEqual(runtime.Visible.get_halign(), Gtk.Align.START)
self.assertTrue(runtime.Visible.get_hexpand())
self.assertEqual(runtime.Box.get_margin_start(), 5)
self.assertEqual(runtime.Box.get_margin_end(), 5)
self.assertIn(runtime.Visible, runtime.Box)
self.assertIn(runtime.Runtime, runtime.Box)
def test_runtime_set_runtime(self):
runtime.set_runtime(0)
self.assertEqual(runtime.Runtime.get_text(), "0 seconds")
runtime.set_runtime(1)
self.assertEqual(runtime.Runtime.get_text(), "1 second")
runtime.set_runtime(60)
self.assertEqual(runtime.Runtime.get_text(), "1 minute")
runtime.set_runtime(125)
self.assertEqual(runtime.Runtime.get_text(), "2 minutes, 5 seconds")
runtime.set_runtime(3600)
self.assertEqual(runtime.Runtime.get_text(), "1 hour")
runtime.set_runtime(7320)
self.assertEqual(runtime.Runtime.get_text(), "2 hours, 2 minutes")
runtime.set_runtime(86400)
self.assertEqual(runtime.Runtime.get_text(), "1 day")
runtime.set_runtime(180000)
self.assertEqual(runtime.Runtime.get_text(), "2 days, 2 hours")
def test_runtime_set_visible_count(self):
runtime.set_visible_count(0)
self.assertEqual(runtime.Visible.get_text(), "Showing 0 tracks")
runtime.set_visible_count(1)
self.assertEqual(runtime.Visible.get_text(), "Showing 1 track")
runtime.set_visible_count(3)
self.assertEqual(runtime.Visible.get_text(), "Showing 3 tracks")