Ajout du GUI
This commit is contained in:
44
kivy/tests/test_motion_event.py
Normal file
44
kivy/tests/test_motion_event.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import pytest
|
||||
|
||||
from kivy.compat import isclose
|
||||
from kivy.input import MotionEvent
|
||||
|
||||
|
||||
class DummyMotionEvent(MotionEvent):
|
||||
pass
|
||||
|
||||
|
||||
class TestMotionEvent:
|
||||
|
||||
def create_dummy_motion_event(self):
|
||||
return DummyMotionEvent('dummy', 'dummy1', (0, 0))
|
||||
|
||||
def build_to_absolute_pos_data(self, x_max, y_max, x_step, y_step):
|
||||
for x, y in zip(range(0, x_max, x_step), range(0, y_max, y_step)):
|
||||
result = (x, y)
|
||||
yield x / x_max, y / y_max, x_max, y_max, 0, result
|
||||
for x, y, in zip(range(0, x_max, x_step), range(0, y_max, y_step)):
|
||||
result = (y, x_max - x)
|
||||
yield x / x_max, y / y_max, x_max, y_max, 90, result
|
||||
for x, y, in zip(range(0, x_max, x_step), range(0, y_max, y_step)):
|
||||
result = (x_max - x, y_max - y)
|
||||
yield x / x_max, y / y_max, x_max, y_max, 180, result
|
||||
for x, y, in zip(range(0, x_max, x_step), range(0, y_max, y_step)):
|
||||
result = (y_max - y, x)
|
||||
yield x / x_max, y / y_max, x_max, y_max, 270, result
|
||||
|
||||
def test_to_absolute_pos(self):
|
||||
event = self.create_dummy_motion_event()
|
||||
for item in self.build_to_absolute_pos_data(320, 240, 20, 21):
|
||||
args = item[:-1]
|
||||
expected_x, expected_y = item[-1]
|
||||
x, y = event.to_absolute_pos(*args)
|
||||
message = ('For args {} expected ({}, {}), got ({}, {})'
|
||||
.format(args, expected_x, expected_y, x, y))
|
||||
correct = isclose(x, expected_x) and isclose(y, expected_y)
|
||||
assert correct, message
|
||||
|
||||
def test_to_absolute_pos_error(self):
|
||||
event = self.create_dummy_motion_event()
|
||||
with pytest.raises(ValueError):
|
||||
event.to_absolute_pos(0, 0, 100, 100, 10)
|
||||
Reference in New Issue
Block a user