Skip to content

Commit c01a857

Browse files
author
Pipeline
committed
r refactored navigating directories to allow levels of directories to navigate to be specified and removed duplicate code
1 parent 546a1e3 commit c01a857

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

Infrastructure/EventLoggingManager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class EventLoggingManager:
55

66
def __init__(self, file_utility):
77
self.file_utility = file_utility
8-
self.file_path = self.file_utility.go_up_dir(self.file_utility.get_root_path()) + "\\MobTimerEvents.log"
8+
self.file_path = self.file_utility.go_up_dirs(self.file_utility.get_root_path(), 1) + "\\MobTimerEvents.log"
99

1010
if not self.file_utility.file_exists(self.file_path):
1111
self.file_utility.create_file(self.file_path)

Infrastructure/FileUtilities.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ def append(self, file_path, data):
2828
f.write(data)
2929
f.close()
3030

31-
def go_up_dir(self, root_directory):
31+
def go_up_dirs(self, root_directory, levels):
3232
if '\\' in root_directory:
33-
return "/".join(root_directory.split('\\')[:-1])
33+
return "/".join(root_directory.split('\\')[:-levels])
3434
else:
35-
return "/".join(root_directory.split('/')[:-1])
35+
return "/".join(root_directory.split('/')[:-levels])

Infrastructure/TipsManager.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,17 @@
22

33
import sys
44

5+
from Infrastructure.FileUtilities import FileUtilities
56
from Infrastructure.PathUtility import PathUtility
67

78

89
class TipsManager(object):
910
def __init__(self, seed=None, root_directory=sys.argv[0]):
10-
self.root_directory = self.go_up_dir(root_directory)
11+
self.file_utility = FileUtilities()
12+
self.root_directory = self.file_utility.go_up_dirs(root_directory, 1)
1113
if seed is not None:
1214
random.seed(seed)
1315

14-
def go_up_dir(self, root_directory):
15-
if '\\' in root_directory:
16-
return "/".join(root_directory.split('\\')[:-1])
17-
else:
18-
return "/".join(root_directory.split('/')[:-1])
19-
20-
2116
def get_random_tip(self):
2217
tips_folder = self.root_directory + "/Tips"
2318
random_file = random.choice(os.listdir("%s" % tips_folder))

tests/Infrastructure/TipsManager/test_TipsManager.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,39 @@
33
import sys
44

55
import os
6+
7+
from Infrastructure.FileUtilities import FileUtilities
68
from Infrastructure.TipsManager import TipsManager
79

810

911
class TestsTipsManage(unittest.TestCase):
12+
13+
@classmethod
14+
def setUpClass(cls):
15+
cls.fileUtilities = FileUtilities()
16+
1017
def test_random_tip_from_file(self):
1118
seed = 0
1219

1320
dirname = os.path.dirname(__file__)
14-
path = self.go_two_dirs_up(dirname) + "\\Tips"
21+
path = self.fileUtilities.go_up_dirs(dirname, 2) + "\\Tips"
1522
tips_manager = TipsManager(seed, path)
1623
result = tips_manager.get_random_tip()
1724
self.assertEqual(result, 'TestTips2.txt: Words\n')
1825

19-
def go_two_dirs_up(self, dirname):
20-
return "\\".join(dirname.split('\\')[:-2])
2126

2227
def test_random_tip_from_file_second(self):
2328
seed = 1
2429
dirname = os.path.dirname(__file__)
25-
path = self.go_two_dirs_up(dirname) + "\\Tips"
30+
path = self.fileUtilities.go_up_dirs(dirname, 2) + "\\Tips"
2631
tips_manager = TipsManager(seed, path)
2732
result = tips_manager.get_random_tip()
2833
self.assertEqual(result, 'TestTips.txt: Customer collaboration over contract negotiation\n')
2934

3035
def test_random_tip_from_file_second_alternate_slashes(self):
3136
seed = 1
3237
dirname = os.path.dirname(__file__)
33-
path = self.go_two_dirs_up(dirname) + "\\Tips"
38+
path = self.fileUtilities.go_up_dirs(dirname, 2) + "\\Tips"
3439
path = path.replace("\\", "/")
3540
tips_manager = TipsManager(seed, path)
3641
result = tips_manager.get_random_tip()

0 commit comments

Comments
 (0)