| src/fjc_biographies/__init__.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/__main__.py |
main |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/__main__.py |
_get_parser |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/__main__.py |
(no function) |
|
100% |
10 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/downloader.py |
data_folder |
|
50% |
10 |
5 |
0 |
|
50% |
6 |
1 |
|
50% |
| src/fjc_biographies/downloader.py |
download |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/fjc_biographies/downloader.py |
raw_folder |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/downloader.py |
_categories |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/fjc_biographies/downloader.py |
_open |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| src/fjc_biographies/downloader.py |
_save |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/downloader.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/main.py |
run |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/fjc_biographies/main.py |
export |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/main.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/names.py |
add_permutations |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/names.py |
columns |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/fjc_biographies/names.py |
permutations |
|
100% |
14 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/fjc_biographies/names.py |
_brackets |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/names.py |
_initial |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/names.py |
_text |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/names.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/options.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
build_roster |
|
100% |
30 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
code_careers |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
load |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
load_all |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
read |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
roster_by_judge |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
tidy |
|
100% |
19 |
0 |
0 |
|
93% |
14 |
1 |
|
97% |
| src/fjc_biographies/parser.py |
_circuit |
|
89% |
9 |
1 |
0 |
|
83% |
6 |
1 |
|
87% |
| src/fjc_biographies/parser.py |
_column_name |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_histories |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_number |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_require |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_table |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_text |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_vote_share |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
_year |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/parser.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rule.create |
|
90% |
31 |
3 |
0 |
|
86% |
14 |
2 |
|
89% |
| src/fjc_biographies/rules.py |
Rule.variable |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rule.apply |
|
100% |
38 |
0 |
0 |
|
91% |
32 |
3 |
|
96% |
| src/fjc_biographies/rules.py |
Rule._split |
|
79% |
14 |
3 |
0 |
|
88% |
8 |
1 |
|
82% |
| src/fjc_biographies/rules.py |
Rulebook.create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.load |
|
100% |
11 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.sections |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.targets |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.variables |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.apply |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
Rulebook.__add__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src/fjc_biographies/rules.py |
Rulebook.__iter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src/fjc_biographies/rules.py |
Rulebook.__len__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
find_instructions |
|
100% |
18 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
split_names |
|
100% |
13 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
_convert |
|
82% |
11 |
2 |
0 |
|
67% |
6 |
2 |
|
76% |
| src/fjc_biographies/rules.py |
_listify |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src/fjc_biographies/rules.py |
_read |
|
94% |
18 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| src/fjc_biographies/rules.py |
_to_bool |
|
89% |
9 |
1 |
0 |
|
83% |
6 |
1 |
|
87% |
| src/fjc_biographies/rules.py |
_unique |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/rules.py |
(no function) |
|
100% |
60 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
add_jcs |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
add_martin_quinn |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
martin_quinn_terms |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
_fjc_files |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
_insert |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
_martin_quinn_file |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
_require |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/fjc_biographies/scores.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
tables |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
files |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
requests |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
requests.fake_open |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
data_folder |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
no_score_downloads |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
no_score_downloads.refuse |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/conftest.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_download |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_download_everything |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_download_unknown_category |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_failed_download_leaves_no_file |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_failed_download_leaves_no_file.refuse |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_only_https |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
test_data_folder |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_download.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_main.py |
test_save_both_formats |
|
86% |
14 |
2 |
0 |
|
100% |
4 |
0 |
|
89% |
| tests/test_main.py |
test_version |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_main.py |
test_run |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_main.py |
test_cli |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_main.py |
test_cli_download_only |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_main.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
test_permutations |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
test_permutations_with_brackets |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
test_permutations_with_missing_parts |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
test_add_permutations |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
test_roster_has_permutations |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_names.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
table |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_tidy_names_and_types |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_tidy_other_tables |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_tidy_dates_in_either_format |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_read |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_circuits |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_appointments |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_reassignment_takes_whole_appointment |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_careers |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_keeps_career_text |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_from_paths |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_merges_by_judge |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_missing_columns |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_code_careers |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_code_careers_with_own_rulebook |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_code_careers_sorts_positions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_build_roster_rulebook_clash |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_load |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_load_all |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
test_roster_by_judge |
|
100% |
26 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| tests/test_parser.py |
test_roster_by_judge_has_every_appointment |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| tests/test_parser.py |
test_roster_by_judge_needs_a_roster |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_parser.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
make |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
apply |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_flag_count_and_matches |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_missing_targets_give_empty_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_label_uses_first_match_and_converts_numbers |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_label_searches_every_target |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_split_section_and_excerpts_make_new_sections |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_dates_excerpts_use_multiline_anchors |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_split_without_match_keeps_everything_first |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_remove_changes_later_rules_only |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_split_names |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_names_ignores_groups_in_pattern |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_invalid_rules |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_load_csv_from_excel |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_load_reports_file_and_row |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_find_instructions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_folder_of_rules |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| tests/test_rules.py |
test_files_named_twice_are_read_once |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_create |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
test_judges_rulebook |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_rules.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
martin_quinn |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
roster |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
computed |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
computed.download |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| tests/test_scores.py |
computed.compute |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_martin_quinn_terms |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_add_martin_quinn |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_martin_quinn_by_judge |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_martin_quinn_file_is_needed |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_add_jcs |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_add_jcs_options |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_both_scores |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_scores_need_a_roster |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_run_with_scores |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
test_cli_with_scores |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
calls_files |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| tests/test_scores.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |