1
1
2
2
import os
3
3
4
- import logging
4
+ from os import sep as osSep
5
+ from os import path as osPath
6
+ from os import getcwd
7
+ from os import chdir
8
+
5
9
from logging import Logger
10
+ from logging import getLogger
6
11
7
- import unittest
12
+ from unittest import main as unitTestMain
13
+ from unittest import expectedFailure
8
14
9
15
from test .TestBase import TestBase
10
16
11
17
from albow .core .ResourceUtility import ResourceUtility
12
18
13
- TEST_SOUND_RELATIVE_PATH = "testresources/TestSound.mp3"
19
+ UNIT_TEST_DIR_NAME : str = 'test'
20
+ RESOURCE_DIR_NAME : str = 'testresources'
21
+ TEST_SOUND_RELATIVE_PATH : str = f'{ RESOURCE_DIR_NAME } { osSep } TestSound.mp3'
14
22
15
23
16
24
class TestResourceUtility (TestBase ):
@@ -24,10 +32,10 @@ def setUpClass(cls):
24
32
25
33
def setUp (self ):
26
34
""""""
27
- TestResourceUtility .ourLogger = logging . getLogger (__name__ )
35
+ TestResourceUtility .ourLogger = getLogger (__name__ )
28
36
self .logger = TestResourceUtility .ourLogger
29
37
30
- @unittest . expectedFailure
38
+ @expectedFailure
31
39
def testFindResourceDirFailure (self ):
32
40
ResourceUtility .find_resource_dir ()
33
41
@@ -50,21 +58,36 @@ def testLoadSound(self):
50
58
import pygame
51
59
pygame .init ()
52
60
53
- dummySound = ResourceUtility .load_sound ("%s" % TEST_SOUND_RELATIVE_PATH )
61
+ self ._findTestResourceDirectory ()
62
+
63
+ dummySound = ResourceUtility .load_sound (TEST_SOUND_RELATIVE_PATH )
54
64
self .logger .info (f"{ dummySound } " )
55
65
56
66
def testLoadSoundFail (self ):
57
67
68
+ self ._findTestResourceDirectory ()
69
+
58
70
ResourceUtility .sound_cache = None
59
71
dummySound = ResourceUtility .load_sound (TEST_SOUND_RELATIVE_PATH )
60
72
61
73
self .assertEqual (first = ResourceUtility .dummy_sound , second = dummySound , msg = "Did not get the dummy sound" )
62
74
63
- @unittest . expectedFailure
75
+ @expectedFailure
64
76
def testGetImageFail (self ):
65
77
66
78
ResourceUtility .get_image ("" )
67
79
80
+ def _findTestResourceDirectory (self ):
81
+
82
+ self .logger .info (f'current directory: { getcwd ()} ' )
83
+ if osPath .isdir (f'{ UNIT_TEST_DIR_NAME } { osSep } { RESOURCE_DIR_NAME } ' ):
84
+ chdir (f'{ UNIT_TEST_DIR_NAME } ' )
85
+ if osPath .isdir (RESOURCE_DIR_NAME ):
86
+ return
87
+ else :
88
+ chdir ("../" )
89
+ return self ._findTestResourceDirectory ()
90
+
68
91
69
92
if __name__ == '__main__' :
70
- unittest . main ()
93
+ unitTestMain ()
0 commit comments