diff options
Diffstat (limited to 'test/tc_displayable.py')
-rw-r--r-- | test/tc_displayable.py | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/test/tc_displayable.py b/test/tc_displayable.py index 1bbffa73..558a20ff 100644 --- a/test/tc_displayable.py +++ b/test/tc_displayable.py @@ -113,26 +113,29 @@ class TestDisplayableWithCurses(unittest.TestCase): self.assertRaises(ValueError, disp.resize, -1, 0, hei, wid) self.assertRaises(ValueError, disp.resize, 0, -1, hei, wid) - box = [int(randint(0, hei) * 0.2), 0, - int(randint(0, wid) * 0.2), 0] - box[1] = randint(box[0], hei) - box[1] = randint(box[0], hei) - - def in_box(y, x): - return (x >= box[1] and x < box[1] + box[3]) and \ - (y >= box[0] and y < box[0] + box[2]) - - disp.resize(*box) - for y, x in zip(range(10), range(10)): - is_in_box = in_box(y, x) - - point1 = (y, x) - self.assertEqual(is_in_box, point1 in disp) - - point2 = Fake() - point2.x = x - point2.y = y - self.assertEqual(is_in_box, point2 in disp) + for i in range(1000): + box = [int(randint(0, hei) * 0.2), int(randint(0, wid) * 0.2)] + box.append(randint(0, hei - box[0])) + box.append(randint(0, wid - box[1])) + + def in_box(y, x): + return (y >= box[1] and y < box[1] + box[3]) and \ + (x >= box[0] and x < box[0] + box[2]) + + disp.resize(*box) + self.assertEqual(box, [disp.y, disp.x, disp.hei, disp.wid], + "Resizing failed for some reason on loop " + str(i)) + + for y, x in zip(range(10), range(10)): + is_in_box = in_box(y, x) + + point1 = (y, x) + self.assertEqual(is_in_box, point1 in disp) + + point2 = Fake() + point2.x = x + point2.y = y + self.assertEqual(is_in_box, point2 in disp) def test_click(self): self.disp.click = raise_ok |