emmental/audio/test_scale.py

53 lines
1.9 KiB
Python
Raw Normal View History

# Copyright 2021 (c) Anna Schumaker.
import unittest
from gi.repository import Gtk
from . import scale
class TestScalePlus(unittest.TestCase):
def on_change_value(self, scale, scroll, value):
self.change_value = (scroll, value)
def test_scale_plus_init(self):
splus = scale.ScalePlus(1, 10, 2, 5)
adj = splus.get_adjustment()
self.assertIsInstance(splus, Gtk.Scale)
self.assertTrue(splus.get_draw_value())
self.assertTrue(splus.get_hexpand())
self.assertEqual(splus.get_value_pos(), Gtk.PositionType.TOP)
self.assertEqual(adj.get_value(), 1)
self.assertEqual(adj.get_lower(), 1)
self.assertEqual(adj.get_upper(), 10)
self.assertEqual(adj.get_step_increment(), 2)
self.assertEqual(adj.get_page_increment(), 5)
def test_scale_plus_decrement(self):
splus = scale.ScalePlus(1, 10, 2, 5)
splus.set_value(10)
splus.connect("change-value", self.on_change_value)
for i in [ 8, 6, 4, 2, 1 ]:
self.assertEqual(splus.decrement(), i)
self.assertEqual(splus.format_value(splus, i), str(i))
self.assertEqual(self.change_value,
(Gtk.ScrollType.STEP_BACKWARD, i))
self.change_value = None
self.assertIsNone(splus.decrement())
self.assertIsNone(self.change_value)
def test_scale_plus_increment(self):
splus = scale.ScalePlus(1, 10, 2, 5)
splus.connect("change-value", self.on_change_value)
for i in [ 3, 5, 7, 9, 10 ]:
self.assertEqual(splus.increment(), i)
self.assertEqual(splus.format_value(splus, i), str(i))
self.assertEqual(self.change_value,
(Gtk.ScrollType.STEP_FORWARD, i))
self.change_value = None
self.assertIsNone(splus.increment())
self.assertIsNone(self.change_value)