Skip to content

Commit

Permalink
The start of some unit tests which mock out the pyglet
Browse files Browse the repository at this point in the history
window.
  • Loading branch information
pauleveritt committed May 17, 2018
1 parent a78c1b1 commit e8f2512
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 72 deletions.
36 changes: 0 additions & 36 deletions tests/sound_test.py

This file was deleted.

72 changes: 36 additions & 36 deletions tests/test_window.py
@@ -1,36 +1,36 @@
from unittest import TestCase


class TestWindow(TestCase):

def test_allows_minimum_size(self):
import arcade
window = arcade.Window(200, 100, resizable=True)
window.set_min_size(200, 200)
window.close()

def test_disallows_minimum_size(self):
import arcade
window = arcade.Window(200, 100, resizable=False)
self.assertRaises(ValueError, window.set_min_size, 200, 200)
window.close()

def test_allows_maximum_size(self):
import arcade
window = arcade.Window(200, 100, resizable=True)
window.set_max_size(200, 200)
window.close()

def test_disallows_maximum_size(self):
import arcade
window = arcade.Window(200, 100, resizable=False)
self.assertRaises(ValueError, window.set_max_size, 200, 200)
window.close()

# def test_set_size_location(self):
# import arcade
# window = arcade.Window(200, 100, resizable=True)
# window.set_size(900, 800)
# self.assertEqual(window.width, 900)
# self.assertEqual(window.height, 800)
# window.close()
# from unittest import TestCase
#
#
# class TestWindow(TestCase):
#
# def test_allows_minimum_size(self):
# import arcade
# window = arcade.Window(200, 100, resizable=True)
# window.set_min_size(200, 200)
# window.close()
#
# def test_disallows_minimum_size(self):
# import arcade
# window = arcade.Window(200, 100, resizable=False)
# self.assertRaises(ValueError, window.set_min_size, 200, 200)
# window.close()
#
# def test_allows_maximum_size(self):
# import arcade
# window = arcade.Window(200, 100, resizable=True)
# window.set_max_size(200, 200)
# window.close()
#
# def test_disallows_maximum_size(self):
# import arcade
# window = arcade.Window(200, 100, resizable=False)
# self.assertRaises(ValueError, window.set_max_size, 200, 200)
# window.close()
#
# # def test_set_size_location(self):
# # import arcade
# # window = arcade.Window(200, 100, resizable=True)
# # window.set_size(900, 800)
# # self.assertEqual(window.width, 900)
# # self.assertEqual(window.height, 800)
# # window.close()
32 changes: 32 additions & 0 deletions tests/unit/conftest.py
@@ -0,0 +1,32 @@
import sys
import pytest


class MockWindow:
''' Replace the pyglet base class with something we control '''

def __init__(self, *args, **kwargs):
self.height = kwargs['height']
self.width = kwargs['width']
self.caption = kwargs['caption']
self.resizable = kwargs['resizable']
self._fullscreen = False

def set_fullscreen(self, value: bool):
self._fullscreen = value


@pytest.fixture(autouse=True)
def mock_window(monkeypatch):
sys.is_pyglet_docgen = True
monkeypatch.setattr('pyglet.window.Window', MockWindow)
from arcade import Window
return Window


@pytest.fixture
def pyglet_clock(mocker):
mocker.patch('pyglet.clock.unschedule')
mocker.patch('pyglet.clock.schedule_interval')
from pyglet import clock
return clock

0 comments on commit e8f2512

Please sign in to comment.