mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-03-04 16:02:51 +01:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from qtpy.QtCore import QRect
|
|
from qtpy.QtWidgets import QWidget
|
|
|
|
from bec_widgets.utils.screen_utils import (
|
|
apply_centered_size,
|
|
centered_geometry,
|
|
main_app_size_for_screen,
|
|
)
|
|
|
|
|
|
def test_centered_geometry_returns_expected_tuple():
|
|
available = QRect(100, 50, 800, 600)
|
|
result = centered_geometry(available, 400, 300)
|
|
assert result == (300, 200, 400, 300)
|
|
|
|
|
|
def test_main_app_size_for_screen_respects_16_9_and_screen_caps():
|
|
available = QRect(0, 0, 1920, 1080)
|
|
width, height = main_app_size_for_screen(available)
|
|
assert (width, height) == (1728, 972)
|
|
|
|
narrow = QRect(0, 0, 1000, 800)
|
|
width, height = main_app_size_for_screen(narrow)
|
|
assert (width, height) == (900, 506)
|
|
|
|
|
|
def test_apply_centered_size_uses_provided_geometry(qtbot):
|
|
widget = QWidget()
|
|
qtbot.addWidget(widget)
|
|
|
|
available = QRect(10, 20, 600, 400)
|
|
apply_centered_size(widget, 200, 100, available=available)
|
|
|
|
geometry = widget.geometry()
|
|
assert geometry.x() == 210
|
|
assert geometry.y() == 170
|
|
assert geometry.width() == 200
|
|
assert geometry.height() == 100
|