|
6 | 6 | from datetime import date |
7 | 7 | import math |
8 | 8 | import numpy as np |
9 | | - |
| 9 | +import os |
10 | 10 | # third party |
11 | 11 | import pandas |
12 | 12 | import epiweeks as epi |
@@ -44,23 +44,33 @@ def test_is_sane_week(self): |
44 | 44 |
|
45 | 45 | def test_find_issue_specific_csv_files(self): |
46 | 46 | """Recursively explore and find issue specific CSV files.""" |
47 | | - path_prefix='prefix/to/the/data/' |
48 | | - #valid day path |
49 | | - issue_path='issue_20200408' |
50 | | - glob_issue_path = path_prefix + issue_path |
51 | | - glob_file_path = path_prefix + issue_path + '/ght/20200408_state_rawsearch.csv' |
| 47 | + # valid path |
| 48 | + path_prefix='prefix/to/the/data/issue_20200408' |
| 49 | + os.makedirs(path_prefix, exist_ok=True) |
| 50 | + self.assertTrue(os.path.isdir(path_prefix)) |
| 51 | + |
| 52 | + issue_path=path_prefix+'ght/20200408_state_rawsearch.csv' |
52 | 53 | mock_glob = MagicMock() |
53 | | - mock_glob.glob.side_effect = ([glob_issue_path], [glob_file_path]) |
| 54 | + mock_glob.glob.side_effect = ([path_prefix], [issue_path]) |
54 | 55 |
|
55 | | - #check if the day is a valid issue day. |
56 | | - issuedir_match = CsvImporter.PATTERN_ISSUE_DIR.match(glob_issue_path.lower()) |
| 56 | + #check if the day is a valid day. |
| 57 | + issuedir_match= CsvImporter.PATTERN_ISSUE_DIR.match(path_prefix.lower()) |
57 | 58 | issue_date_value = int(issuedir_match.group(2)) |
58 | | - |
59 | 59 | self.assertTrue(CsvImporter.is_sane_day(issue_date_value)) |
60 | | - |
| 60 | + |
61 | 61 | found = set(CsvImporter.find_issue_specific_csv_files(path_prefix, glob=mock_glob)) |
62 | 62 | self.assertTrue(len(found)>0) |
63 | 63 |
|
| 64 | + # unvalid path: |
| 65 | + path_prefix_invalid='invalid/prefix/to/the/data/issue_20200408' |
| 66 | + self.assertFalse(os.path.isdir(path_prefix_invalid)) |
| 67 | + issue_path_invalid=path_prefix_invalid+'ght/20200408_state_rawsearch.csv' |
| 68 | + mock_glob_invalid = MagicMock() |
| 69 | + mock_glob_invalid.glob.side_effect = ([path_prefix_invalid], [issue_path_invalid]) |
| 70 | + found = set(CsvImporter.find_issue_specific_csv_files(path_prefix_invalid, glob=mock_glob_invalid)) |
| 71 | + self.assertFalse(len(found)>0) |
| 72 | + |
| 73 | + |
64 | 74 | def test_find_csv_files(self): |
65 | 75 | """Recursively explore and find CSV files.""" |
66 | 76 |
|
|
0 commit comments