|
6 | 6 | from diffpy.labpdfproc.tools import set_output_directory
|
7 | 7 |
|
8 | 8 | params1 = [
|
9 |
| - ([None], [Path.cwd()]), |
10 |
| - (["corrected"], [Path("corrected").resolve()]), |
| 9 | + ([None], [Path.cwd().resolve()]), |
| 10 | + (["."], [Path.cwd().resolve()]), |
| 11 | + (["new_dir"], [Path.cwd().resolve() / "new_dir"]), |
| 12 | + (["new_dir.py"], [Path.cwd().resolve() / "new_dir.py"]), |
| 13 | + (["existing_dir"], [Path.cwd().resolve() / "existing_dir"]), |
11 | 14 | ]
|
12 | 15 |
|
13 | 16 |
|
14 | 17 | @pytest.mark.parametrize("inputs, expected", params1)
|
15 | 18 | def test_set_output_directory(inputs, expected):
|
| 19 | + existing_dir = Path().cwd().resolve() / "existing_dir" |
| 20 | + existing_dir.mkdir(parents=True, exist_ok=True) |
| 21 | + |
16 | 22 | expected_output_directory = expected[0]
|
17 | 23 | actual_args = argparse.Namespace(output_directory=inputs[0])
|
18 | 24 | actual_args.output_directory = set_output_directory(actual_args)
|
19 | 25 | assert actual_args.output_directory == expected_output_directory
|
20 | 26 | assert Path(actual_args.output_directory).exists()
|
21 | 27 | assert Path(actual_args.output_directory).is_dir()
|
22 | 28 |
|
| 29 | + |
| 30 | +def test_set_output_directory_bad(): |
| 31 | + existing_dir = Path().cwd().resolve() / "existing_dir.py" |
| 32 | + with open(existing_dir, "w"): |
| 33 | + pass |
| 34 | + |
| 35 | + actual_args = argparse.Namespace(output_directory="existing_dir.py") |
23 | 36 | with pytest.raises(FileExistsError):
|
24 |
| - actual_args = argparse.Namespace(output_directory="test_tools.py") |
25 | 37 | actual_args.output_directory = set_output_directory(actual_args)
|
| 38 | + assert Path(actual_args.output_directory).exists() |
| 39 | + assert not Path(actual_args.output_directory).is_dir() |
0 commit comments