oscillode/tests/utils/test_staticproperty.py

33 lines
1.1 KiB
Python
Raw Normal View History

# oscillode
# Copyright (C) 2024 oscillode Project Contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from tests.context import blender_manifest
with blender_manifest():
from oscillode.utils.staticproperty import staticproperty
def test_check_static_constant_property():
"""Check that the staticproperty can be read."""
TEST_CONSTANT = 10
class Tester:
@staticproperty # type: ignore[arg-type]
def known_fact(): # type: ignore[misc]
return TEST_CONSTANT
assert Tester.known_fact == TEST_CONSTANT