annotate pyntnclick/tests/test_resources.py @ 584:96ff2d8a8a9a pyntnclick

Allow list of image name fragments in load_image. Also, some docs.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 11 Feb 2012 16:45:07 +0200
parents 27809609eeca
children f20d211d2c91
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
561
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
1 import os.path
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
2 from unittest import TestCase
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
3
571
20e296d4a3a5 Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents: 562
diff changeset
4 from pygame.surface import Surface
20e296d4a3a5 Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents: 562
diff changeset
5
562
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
6 from pyntnclick.resources import Resources, ResourceNotFound
561
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
8
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
9 TEST_PATH = os.path.dirname(__file__)
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
10 DATA_PATH = os.path.join(os.path.dirname(TEST_PATH), 'data')
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
11
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
12 test_path = lambda p: os.path.join(TEST_PATH, p)
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13 data_path = lambda p: os.path.join(DATA_PATH, p)
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
14
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
15
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16 class ResourcesTestCase(TestCase):
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
17 def setUp(self):
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
18 self.res = self.get_resource_loader()
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
19
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
20 def get_resource_loader(self, *args, **kw):
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
21 res = Resources('pyntnclick.tests', *args, **kw)
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
22 res.CONVERT_ALPHA = False # Because we have no display.
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
23 return res
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
24
561
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25 def test_get_paths_no_lang(self):
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
26 self.assertEqual([test_path('thing'), data_path('thing')],
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
27 self.res.get_paths('thing'))
561
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
28
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
29 def test_get_paths_lang(self):
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
30 res = self.get_resource_loader('en')
561
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
31 self.assertEqual([test_path('en/thing'), test_path('thing'),
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
32 data_path('en/thing'), data_path('thing')],
e207dfad0d9e Start of resource manager.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
33 res.get_paths('thing'))
562
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
34
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
35 def test_get_resource_path_missing(self):
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
36 try:
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
37 self.res.get_resource_path('should_not_exist')
562
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
38 self.fail('Expected ResourceNotFound error.')
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
39 except ResourceNotFound, e:
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
40 self.assertEqual('should_not_exist', e.args[0])
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
41
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
42 def test_get_resource_path_in_test(self):
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
43 self.assertEqual(test_path('test_resources.py'),
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
44 self.res.get_resource_path('test_resources.py'))
562
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
45
f22953c43c6d More resource tests.
Jeremy Thurgood <firxen@gmail.com>
parents: 561
diff changeset
46 def test_get_resource_path_in_data(self):
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
47 self.assertEqual(
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
48 data_path('images/pyntnclick/hand.png'),
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
49 self.res.get_resource_path('images/pyntnclick/hand.png'))
571
20e296d4a3a5 Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents: 562
diff changeset
50
20e296d4a3a5 Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents: 562
diff changeset
51 def test_load_image(self):
573
85f1ab8af698 Test refactor.
Jeremy Thurgood <firxen@gmail.com>
parents: 571
diff changeset
52 image = self.res.load_image('pyntnclick/hand.png')
571
20e296d4a3a5 Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents: 562
diff changeset
53 self.assertTrue(isinstance(image, Surface))
580
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
54
584
96ff2d8a8a9a Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents: 580
diff changeset
55 def test_load_image_fragments(self):
96ff2d8a8a9a Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents: 580
diff changeset
56 image = self.res.load_image(['pyntnclick', 'hand.png'])
96ff2d8a8a9a Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents: 580
diff changeset
57 self.assertTrue(isinstance(image, Surface))
96ff2d8a8a9a Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents: 580
diff changeset
58
580
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
59 def test_load_image_different_basedir(self):
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
60 image = self.res.load_image('hand.png', basedir='images/pyntnclick')
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
61 self.assertTrue(isinstance(image, Surface))
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
62
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
63 def test_load_missing(self):
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
64 try:
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
65 self.res.load_image('should_not_exist')
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
66 self.fail('Expected ResourceNotFound error.')
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
67 except ResourceNotFound, e:
27809609eeca Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents: 573
diff changeset
68 self.assertEqual('images/should_not_exist', e.args[0])