53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
|
# 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)
|