11
22import os
33
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+
59from logging import Logger
10+ from logging import getLogger
611
7- import unittest
12+ from unittest import main as unitTestMain
13+ from unittest import expectedFailure
814
915from test .TestBase import TestBase
1016
1117from albow .core .ResourceUtility import ResourceUtility
1218
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'
1422
1523
1624class TestResourceUtility (TestBase ):
@@ -24,10 +32,10 @@ def setUpClass(cls):
2432
2533 def setUp (self ):
2634 """"""
27- TestResourceUtility .ourLogger = logging . getLogger (__name__ )
35+ TestResourceUtility .ourLogger = getLogger (__name__ )
2836 self .logger = TestResourceUtility .ourLogger
2937
30- @unittest . expectedFailure
38+ @expectedFailure
3139 def testFindResourceDirFailure (self ):
3240 ResourceUtility .find_resource_dir ()
3341
@@ -50,21 +58,36 @@ def testLoadSound(self):
5058 import pygame
5159 pygame .init ()
5260
53- dummySound = ResourceUtility .load_sound ("%s" % TEST_SOUND_RELATIVE_PATH )
61+ self ._findTestResourceDirectory ()
62+
63+ dummySound = ResourceUtility .load_sound (TEST_SOUND_RELATIVE_PATH )
5464 self .logger .info (f"{ dummySound } " )
5565
5666 def testLoadSoundFail (self ):
5767
68+ self ._findTestResourceDirectory ()
69+
5870 ResourceUtility .sound_cache = None
5971 dummySound = ResourceUtility .load_sound (TEST_SOUND_RELATIVE_PATH )
6072
6173 self .assertEqual (first = ResourceUtility .dummy_sound , second = dummySound , msg = "Did not get the dummy sound" )
6274
63- @unittest . expectedFailure
75+ @expectedFailure
6476 def testGetImageFail (self ):
6577
6678 ResourceUtility .get_image ("" )
6779
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+
6891
6992if __name__ == '__main__' :
70- unittest . main ()
93+ unitTestMain ()
0 commit comments