comparison clipkit_repo/tests/unit/test_args_parsing.py @ 0:49b058e85902 draft

"planemo upload for repository https://github.com/jlsteenwyk/clipkit commit cbe1e8577ecb1a46709034a40dff36052e876e7a-dirty"
author padge
date Fri, 25 Mar 2022 13:04:31 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:49b058e85902
1 import pytest
2 from argparse import Namespace
3 from clipkit.modes import TrimmingMode
4 from clipkit.args_processing import process_args
5
6
7 @pytest.fixture
8 def args():
9 kwargs = dict(
10 complementary=False,
11 gaps=None,
12 input="tests/integration/samples/simple.fa",
13 input_file_format=None,
14 log=False,
15 mode=None,
16 output="output/simple",
17 output_file_format=None,
18 )
19 return Namespace(**kwargs)
20
21
22 class TestArgsProcessing(object):
23 def test_process_args_input_file_dne(self, args):
24 args.input = "some/file/that/doesnt/exist"
25 with pytest.raises(SystemExit):
26 process_args(args)
27
28 def test_process_args_in_equals_out(self, args):
29 args.output = args.input
30 with pytest.raises(SystemExit):
31 process_args(args)
32
33 def test_process_args_default_mode(self, args):
34 res = process_args(args)
35 assert res["mode"] == TrimmingMode.smart_gap
36
37 def test_process_args_default_complementary(self, args):
38 args.complementary = None
39 res = process_args(args)
40 assert res["complement"] is False
41
42 def test_process_args_default_gaps(self, args):
43 res = process_args(args)
44 assert res["gaps"] == 0.9
45
46 def test_process_args_default_use_logs(self, args):
47 args.log = None
48 res = process_args(args)
49 assert res["use_log"] is False
50
51 def test_process_args_default_output_file(self, args):
52 args.output = None
53 res = process_args(args)
54 assert res["output_file"] == f"{args.input}.clipkit"
55
56 def test_process_args_expected_keywords(self, args):
57 res = process_args(args)
58 expected_keys = [
59 "input_file",
60 "output_file",
61 "input_file_format",
62 "output_file_format",
63 "complement",
64 "gaps",
65 "mode",
66 "use_log",
67 ]
68 assert sorted(res.keys()) == sorted(expected_keys)