From 0e7302e86ae71e89950360822b824e6690276c73 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 12 Nov 2018 17:18:19 +0100 Subject: [PATCH] tests: add a few basic unit tests for WindowProperties class --- tests/display/test_winprops.py | 68 ++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tests/display/test_winprops.py diff --git a/tests/display/test_winprops.py b/tests/display/test_winprops.py new file mode 100644 index 0000000000..4634e54c04 --- /dev/null +++ b/tests/display/test_winprops.py @@ -0,0 +1,68 @@ +from panda3d.core import WindowProperties + +import pytest + + +def test_winprops_ctor(): + props = WindowProperties() + assert not props.is_any_specified() + + +def test_winprops_copy_ctor(): + props = WindowProperties() + props.set_size(1, 2) + + props2 = WindowProperties(props) + assert props == props2 + assert props2.get_size() == (1, 2) + + with pytest.raises(TypeError): + WindowProperties(None) + + +def test_winprops_ctor_kwargs(): + props = WindowProperties(size=(1, 2), origin=3) + + assert props.has_size() + assert props.get_size() == (1, 2) + + assert props.has_origin() + assert props.get_origin() == (3, 3) + + # Invalid property should throw + with pytest.raises(TypeError): + WindowProperties(swallow_type="african") + + # Invalid value should throw + with pytest.raises(TypeError): + WindowProperties(size="invalid") + + +def test_winprops_size_staticmethod(): + props = WindowProperties.size(1, 2) + assert props.has_size() + assert props.get_size() == (1, 2) + + props = WindowProperties.size((1, 2)) + assert props.has_size() + assert props.get_size() == (1, 2) + + +def test_winprops_size_property(): + props = WindowProperties() + + # Test get + props.set_size(1, 2) + assert props.size == (1, 2) + + # Test has + props.clear_size() + assert props.size is None + + # Test set + props.size = (4, 5) + assert props.get_size() == (4, 5) + + # Test clear + props.size = None + assert not props.has_size()