| 181 | |
| 182 | @parameterized.expand([TEST_CASE_9, TEST_CASE_10]) |
| 183 | def test_file(self, input_data, expected_print): |
| 184 | with tempfile.TemporaryDirectory() as tempdir: |
| 185 | filename = os.path.join(tempdir, "test_data_stats.log") |
| 186 | handler = logging.FileHandler(filename, mode="w") |
| 187 | handler.setLevel(logging.INFO) |
| 188 | name = "DataStats" |
| 189 | logger = logging.getLogger(name) |
| 190 | logger.addHandler(handler) |
| 191 | input_param = { |
| 192 | "prefix": "test data", |
| 193 | "data_type": True, |
| 194 | "data_shape": True, |
| 195 | "value_range": True, |
| 196 | "data_value": True, |
| 197 | "meta_info": True, |
| 198 | "additional_info": np.mean, |
| 199 | "name": name, |
| 200 | } |
| 201 | transform = DataStats(**input_param) |
| 202 | _ = transform(input_data) |
| 203 | for h in logger.handlers[:]: |
| 204 | h.close() |
| 205 | logger.removeHandler(h) |
| 206 | with open(filename) as f: |
| 207 | content = f.read() |
| 208 | if sys.platform != "win32": |
| 209 | self.assertEqual(content, expected_print) |
| 210 | |
| 211 | def test_multiple_data_stats(self): |
| 212 | with patch("sys.stdout", new=StringIO()) as out: |