[tests] switch to pytest
This commit is contained in:
parent
b2e92d816d
commit
39fa7788b4
37 changed files with 1009 additions and 2259 deletions
|
@ -1,12 +1,11 @@
|
|||
import unittest
|
||||
import unittest.mock
|
||||
import pytest
|
||||
|
||||
import core.widget
|
||||
import core.module
|
||||
import core.config
|
||||
|
||||
|
||||
class TestModule(core.module.Module):
|
||||
class SampleModule(core.module.Module):
|
||||
def __init__(self, widgets, config=core.config.Config([]), theme=None):
|
||||
super().__init__(config, theme, widgets)
|
||||
self.states = []
|
||||
|
@ -19,77 +18,80 @@ class TestModule(core.module.Module):
|
|||
def state(self, widget):
|
||||
return self.states
|
||||
|
||||
@pytest.fixture
|
||||
def widget_a():
|
||||
return core.widget.Widget("some random value")
|
||||
|
||||
class widget(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.someValue = "some random value"
|
||||
self.someOtherValue = "some different value"
|
||||
self.callbackReturnValue = "callback return value"
|
||||
self.someWidget = core.widget.Widget(full_text=self.someValue)
|
||||
self.someCallback = unittest.mock.MagicMock(
|
||||
return_value=self.callbackReturnValue
|
||||
)
|
||||
#class widget(unittest.TestCase):
|
||||
# def setUp(self):
|
||||
# self.someValue = "some random value"
|
||||
# self.someOtherValue = "some different value"
|
||||
# self.callbackReturnValue = "callback return value"
|
||||
# self.someWidget = core.widget.Widget(full_text=self.someValue)
|
||||
# self.someCallback = unittest.mock.MagicMock(
|
||||
# return_value=self.callbackReturnValue
|
||||
# )
|
||||
#
|
||||
# self.assertNotEqual(self.someValue, self.someOtherValue)
|
||||
|
||||
self.assertNotEqual(self.someValue, self.someOtherValue)
|
||||
def test_text_fulltext():
|
||||
widget = core.widget.Widget(full_text="this is some value")
|
||||
assert widget.full_text() == "this is some value"
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
def test_set_fulltext(widget_a):
|
||||
assert widget_a.full_text() != "new value"
|
||||
widget_a.full_text("new value")
|
||||
assert widget_a.full_text() == "new value"
|
||||
|
||||
def test_text_fulltext(self):
|
||||
newWidget = core.widget.Widget(full_text=self.someValue)
|
||||
self.assertEqual(self.someValue, newWidget.full_text())
|
||||
def test_callable_fulltext(mocker):
|
||||
callback = mocker.MagicMock(return_value="callback returns")
|
||||
widget = core.widget.Widget(full_text=callback)
|
||||
assert widget.full_text() == "callback returns"
|
||||
callback.assert_called_once_with(widget)
|
||||
|
||||
def test_set_fulltext(self):
|
||||
self.assertNotEqual(self.someOtherValue, self.someWidget.full_text())
|
||||
self.someWidget.full_text(self.someOtherValue)
|
||||
self.assertEqual(self.someOtherValue, self.someWidget.full_text())
|
||||
def test_set_callable_fulltext(mocker, widget_a):
|
||||
callback = mocker.MagicMock(return_value="this is a test")
|
||||
widget_a.full_text(callback)
|
||||
assert widget_a.full_text() == "this is a test"
|
||||
callback.assert_called_once_with(widget_a)
|
||||
|
||||
def test_callable_fulltext(self):
|
||||
newWidget = core.widget.Widget(full_text=self.someCallback)
|
||||
self.assertEqual(newWidget.full_text(), self.callbackReturnValue)
|
||||
self.someCallback.assert_called_once_with(newWidget)
|
||||
def test_state_defaults_to_empty(widget_a):
|
||||
assert widget_a.state() == []
|
||||
|
||||
def test_set_callable_fulltext(self):
|
||||
self.someWidget.full_text(self.someCallback)
|
||||
self.assertEqual(self.someWidget.full_text(), self.callbackReturnValue)
|
||||
self.someCallback.assert_called_once_with(self.someWidget)
|
||||
def test_single_widget_state(widget_a):
|
||||
widget_a.set("state", "state1")
|
||||
assert widget_a.state() == ["state1"]
|
||||
|
||||
def test_state_defaults_to_empty(self):
|
||||
self.assertEqual([], self.someWidget.state())
|
||||
def test_multiple_widget_states(widget_a):
|
||||
widget_a.set("state", ["state1", "state2"])
|
||||
assert widget_a.state() == ["state1", "state2"]
|
||||
|
||||
def test_single_widget_state(self):
|
||||
self.someWidget.set("state", "state1")
|
||||
self.assertEqual(["state1"], self.someWidget.state())
|
||||
def test_widget_module_state(widget_a):
|
||||
module = SampleModule(widgets=widget_a)
|
||||
widget_a.set("state", ["state1", "state2"])
|
||||
|
||||
def test_multiple_widget_states(self):
|
||||
self.someWidget.set("state", ["state1", "state2"])
|
||||
self.assertEqual(["state1", "state2"], self.someWidget.state())
|
||||
module.states = "x"
|
||||
assert widget_a.state() == ["state1", "state2", "x"]
|
||||
|
||||
def test_widget_module_state(self):
|
||||
module = TestModule(widgets=self.someWidget)
|
||||
self.someWidget.set("state", ["state1", "state2"])
|
||||
module.states = ["a", "b"]
|
||||
assert widget_a.state() == ["state1", "state2", "a", "b"]
|
||||
|
||||
module.states = "x"
|
||||
self.assertEqual(["state1", "state2", "x"], self.someWidget.state())
|
||||
module.states = ["a", "b"]
|
||||
self.assertEqual(["state1", "state2", "a", "b"], self.someWidget.state())
|
||||
def test_multiple_widget_themes():
|
||||
widget1 = core.widget.Widget(full_text="a")
|
||||
widget2 = core.widget.Widget(full_text="b")
|
||||
widget3 = core.widget.Widget(full_text="c")
|
||||
|
||||
def test_multiple_widget_themes(self):
|
||||
widget1 = core.widget.Widget(full_text="a")
|
||||
widget2 = core.widget.Widget(full_text="b")
|
||||
widget3 = core.widget.Widget(full_text="c")
|
||||
module = SampleModule(widgets=[widget1, widget2, widget3])
|
||||
module.set("theme.test", "1,2,3")
|
||||
module.set("theme.test2", "x")
|
||||
|
||||
module = TestModule(widgets=[widget1, widget2, widget3])
|
||||
module.set("theme.test", "1,2,3")
|
||||
module.set("theme.test2", "x")
|
||||
assert widget1.theme("test") == "1"
|
||||
assert widget2.theme("test") == "2"
|
||||
assert widget3.theme("test") == "3"
|
||||
|
||||
self.assertEqual("1", widget1.theme("test"))
|
||||
self.assertEqual("2", widget2.theme("test"))
|
||||
self.assertEqual("3", widget3.theme("test"))
|
||||
|
||||
self.assertEqual("x", widget1.theme("test2"))
|
||||
self.assertEqual(None, widget2.theme("test2"))
|
||||
self.assertEqual(None, widget3.theme("test2"))
|
||||
assert widget1.theme("test2") == "x"
|
||||
assert widget2.theme("test2") == None
|
||||
assert widget3.theme("test2") == None
|
||||
|
||||
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue