All files src/rules

95.69% Statements 33064/34551
87.82% Branches 9771/11126
99.79% Functions 1964/1968
95.69% Lines 33064/34551

Press n or j to go to the next uncovered block, b, p or k for the previous block.

File Statements Branches Functions Lines
7bit_ascii.ts
100% 80/80 100% 12/12 100% 6/6 100% 80/80
_abap_rule.ts
100% 37/37 100% 6/6 100% 2/2 100% 37/37
_basic_rule_config.ts
100% 8/8 100% 1/1 100% 1/1 100% 8/8
_irule.ts
100% 54/54 100% 1/1 100% 0/0 100% 54/54
_naming_rule_config.ts
100% 15/15 100% 1/1 100% 1/1 100% 15/15
_procedure_analysis.ts
95.32% 1569/1646 86.59% 685/791 100% 93/93 95.32% 1569/1646
abapdoc.ts
90.97% 131/144 88.37% 38/43 100% 7/7 90.97% 131/144
abapdoc_html_tag.ts
100% 91/91 100% 20/20 100% 5/5 100% 91/91
abapdoc_leading_at.ts
100% 84/84 100% 20/20 100% 5/5 100% 84/84
abapdoc_parameter_names.ts
98.36% 120/122 94.59% 35/37 100% 6/6 98.36% 120/122
abapdoc_shorttext_length.ts
100% 96/96 100% 20/20 100% 7/7 100% 96/96
add_test_attributes.ts
96.11% 99/103 75% 18/24 100% 5/5 96.11% 99/103
aff_and_xml.ts
100% 63/63 100% 13/13 100% 6/6 100% 63/63
alias_never_reassigned.ts
100% 103/103 100% 39/39 100% 6/6 100% 103/103
align_parameters.ts
82.93% 350/422 80.95% 68/84 100% 11/11 82.93% 350/422
align_pseudo_comments.ts
97.33% 73/75 94.11% 16/17 100% 5/5 97.33% 73/75
align_type_expressions.ts
100% 213/213 100% 38/38 100% 10/10 100% 213/213
allowed_object_naming.ts
98.33% 59/60 93.75% 15/16 100% 6/6 98.33% 59/60
allowed_object_types.ts
73.13% 49/67 87.5% 7/8 87.5% 7/8 73.13% 49/67
ambiguous_statement.ts
98% 98/100 95.45% 21/22 100% 8/8 98% 98/100
avoid_use.ts
100% 172/172 92.3% 48/52 100% 8/8 100% 172/172
bdef_check_syntax.ts
92.92% 92/99 85.71% 18/21 100% 9/9 92.92% 92/99
bdef_parser_error.ts
100% 51/51 100% 11/11 100% 6/6 100% 51/51
begin_end_names.ts
98.19% 109/111 95.65% 22/23 100% 6/6 98.19% 109/111
begin_single_include.ts
97.97% 97/99 91.3% 21/23 100% 5/5 97.97% 97/99
boolean_flag_via_if.ts
97.18% 138/142 91.66% 66/72 100% 7/7 97.18% 138/142
bound_check_after_create.ts
94.67% 231/244 84.05% 116/138 100% 13/13 94.67% 231/244
call_transaction_authority_check.ts
100% 65/65 100% 15/15 100% 6/6 100% 65/65
cast_via_generic_reference.ts
96.87% 155/160 91.37% 53/58 100% 9/9 96.87% 155/160
catch_and_raise.ts
91.48% 86/94 83.33% 20/24 100% 6/6 91.48% 86/94
cds_association_name.ts
95.12% 78/82 90% 18/20 100% 6/6 95.12% 78/82
cds_check_syntax.ts
96.05% 438/456 87.03% 141/162 100% 21/21 96.05% 438/456
cds_comment_style.ts
96.87% 62/64 85.71% 12/14 100% 6/6 96.87% 62/64
cds_field_order.ts
93.18% 123/132 84.61% 22/26 100% 8/8 93.18% 123/132
cds_legacy_view.ts
97.18% 69/71 87.5% 14/16 100% 6/6 97.18% 69/71
cds_naming.ts
93.38% 127/136 81.25% 26/32 100% 8/8 93.38% 127/136
cds_parser_error.ts
100% 53/53 92.85% 13/14 100% 6/6 100% 53/53
chain_mainly_declarations.ts
94.65% 177/187 83.33% 50/60 100% 7/7 94.65% 177/187
change_if_to_case.ts
89.18% 132/148 72.58% 45/62 100% 7/7 89.18% 132/148
changing_sorted_line.ts
94.36% 201/213 77.77% 63/81 100% 10/10 94.36% 201/213
check_abstract.ts
98.7% 76/77 94.44% 17/18 100% 6/6 98.7% 76/77
check_comments.ts
97.82% 90/92 92% 23/25 100% 7/7 97.82% 90/92
check_ddic.ts
100% 81/81 95.83% 23/24 100% 7/7 100% 81/81
check_include.ts
96.87% 62/64 87.5% 14/16 100% 7/7 96.87% 62/64
check_subrc.ts
94.69% 214/226 85.55% 77/90 100% 11/11 94.69% 214/226
check_syntax.ts
100% 60/60 100% 11/11 100% 6/6 100% 60/60
check_text_elements.ts
98.05% 101/103 96.66% 29/30 100% 6/6 98.05% 101/103
check_transformation_exists.ts
100% 63/63 100% 15/15 100% 6/6 100% 63/63
class_attribute_names.ts
97.76% 131/134 93.54% 29/31 100% 10/10 97.76% 131/134
classic_exceptions_overlap.ts
97.22% 70/72 85.71% 12/14 100% 5/5 97.22% 70/72
clear_after_declaration.ts
100% 82/82 100% 21/21 100% 6/6 100% 82/82
clear_before_overwrite.ts
98.69% 151/153 92.75% 64/69 100% 9/9 98.69% 151/153
clear_exporting_parameters.ts
97.1% 268/276 85% 85/100 100% 15/15 97.1% 268/276
cloud_types.ts
100% 110/110 100% 45/45 100% 8/8 100% 110/110
colon_missing_space.ts
100% 73/73 100% 20/20 100% 6/6 100% 73/73
commented_code.ts
96.61% 114/118 91.17% 31/34 100% 9/9 96.61% 114/118
constant_classes.ts
91.57% 163/178 90.69% 39/43 100% 8/8 91.57% 163/178
constant_condition.ts
96.66% 174/180 92.95% 66/71 100% 10/10 96.66% 174/180
constructor_visibility_public.ts
100% 76/76 100% 15/15 100% 7/7 100% 76/76
contains_tab.ts
97.14% 68/70 91.66% 11/12 100% 8/8 97.14% 68/70
copy_chain.ts
98.52% 201/204 91.86% 79/86 100% 7/7 98.52% 201/204
copy_of_initial_variable.ts
100% 108/108 100% 37/37 100% 6/6 100% 108/108
cyclic_oo.ts
91.37% 159/174 83.92% 47/56 100% 9/9 91.37% 159/174
cyclomatic_complexity.ts
96.36% 53/55 90% 9/10 100% 7/7 96.36% 53/55
dangerous_statement.ts
94.24% 131/139 79.54% 35/44 100% 8/8 94.24% 131/139
db_operation_in_loop.ts
100% 87/87 100% 15/15 100% 5/5 100% 87/87
definitions_top.ts
98.4% 185/188 86.76% 59/68 100% 8/8 98.4% 185/188
delete_index_in_loop.ts
97.05% 132/136 89.47% 34/38 100% 8/8 97.05% 132/136
description_empty.ts
100% 63/63 100% 13/13 100% 7/7 100% 63/63
double_space.ts
98.18% 216/220 97.22% 70/72 100% 11/11 98.18% 216/220
downport.ts
92.47% 3466/3748 79.7% 1276/1601 100% 91/91 92.47% 3466/3748
dynpro_checks.ts
100% 111/111 94.73% 36/38 100% 9/9 100% 111/111
easy_to_find_messages.ts
100% 80/80 100% 12/12 100% 6/6 100% 80/80
else_after_all_returns.ts
95.8% 137/143 92.3% 36/39 100% 10/10 95.8% 137/143
empty_event.ts
100% 91/91 93.1% 27/29 100% 5/5 100% 91/91
empty_line_in_statement.ts
98.82% 84/85 88.88% 24/27 100% 7/7 98.82% 84/85
empty_statement.ts
100% 57/57 100% 7/7 100% 5/5 100% 57/57
empty_structure.ts
100% 210/210 97.56% 40/41 100% 8/8 100% 210/210
exit_or_check.ts
100% 84/84 100% 25/25 100% 6/6 100% 84/84
expand_macros.ts
100% 88/88 100% 18/18 100% 5/5 100% 88/88
exporting.ts
98.98% 98/99 96% 24/25 100% 7/7 98.98% 98/99
final_newline.ts
100% 88/88 100% 24/24 100% 7/7 100% 88/88
fm_global_parameters_obsolete.ts
79.36% 50/63 88.88% 8/9 100% 6/6 79.36% 50/63
forbidden_identifier.ts
97.67% 84/86 94.73% 18/19 100% 8/8 97.67% 84/86
forbidden_pseudo_and_pragma.ts
68.05% 98/144 60.86% 14/23 100% 6/6 68.05% 98/144
forbidden_void_type.ts
88.18% 97/110 82.14% 23/28 90% 9/10 88.18% 97/110
form_tables_obsolete.ts
100% 60/60 100% 11/11 100% 6/6 100% 60/60
fully_type_constants.ts
97.26% 71/73 84.21% 16/19 100% 8/8 97.26% 71/73
fully_type_itabs.ts
100% 77/77 100% 17/17 100% 5/5 100% 77/77
function_module_recommendations.ts
98.11% 156/159 90.9% 20/22 100% 8/8 98.11% 156/159
functional_writing.ts
100% 133/133 91.66% 33/36 100% 9/9 100% 133/133
generic_regex.ts
100% 84/84 95% 19/20 100% 7/7 100% 84/84
global_class.ts
93.2% 96/103 94.28% 33/35 100% 5/5 93.2% 96/103
identical_conditions.ts
96.42% 162/168 87.8% 36/41 100% 11/11 96.42% 162/168
identical_contents.ts
96.2% 152/158 79.24% 42/53 100% 7/7 96.2% 152/158
identical_descriptions.ts
96.15% 100/104 91.66% 33/36 100% 7/7 96.15% 100/104
identical_form_names.ts
100% 62/62 100% 13/13 100% 6/6 100% 62/62
identical_move.ts
100% 56/56 81.81% 9/11 100% 5/5 100% 56/56
if_in_if.ts
98.59% 140/142 85.71% 24/28 100% 5/5 98.59% 140/142
implement_methods.ts
90.8% 326/359 81.51% 97/119 100% 18/18 90.8% 326/359
implicit_start_of_selection.ts
97.93% 95/97 88.88% 24/27 100% 5/5 97.93% 95/97
in_statement_indentation.ts
98.36% 120/122 97.61% 41/42 100% 7/7 98.36% 120/122
indentation.ts
95.09% 155/163 86.53% 45/52 100% 6/6 95.09% 155/163
index.ts
100% 230/230 100% 0/0 100% 0/0 100% 230/230
index_completely_contained.ts
100% 72/72 100% 19/19 100% 6/6 100% 72/72
inline_data_old_versions.ts
87.87% 58/66 69.23% 9/13 100% 5/5 87.87% 58/66
inline_packed_computation.ts
91.91% 182/198 85.36% 70/82 100% 9/9 91.91% 182/198
intf_referencing_clas.ts
94.38% 84/89 68.18% 15/22 100% 8/8 94.38% 84/89
invalid_table_index.ts
97.46% 77/79 90.47% 19/21 100% 5/5 97.46% 77/79
is_assigned_in_loop.ts
96.78% 211/218 92.47% 86/93 100% 16/16 96.78% 211/218
keep_single_parameter_on_one_line.ts
96.66% 174/180 93.1% 54/58 100% 15/15 96.66% 174/180
keyword_case.ts
92.54% 273/295 87.96% 95/108 100% 11/11 92.54% 273/295
line_break_multiple_parameters.ts
97.67% 84/86 95.23% 20/21 100% 6/6 97.67% 84/86
line_break_style.ts
96.96% 64/66 93.33% 14/15 100% 6/6 96.96% 64/66
line_length.ts
92.53% 62/67 84.61% 11/13 100% 6/6 92.53% 62/67
line_only_punc.ts
100% 94/94 100% 28/28 100% 7/7 100% 94/94
local_class_naming.ts
98.07% 102/104 95.45% 21/22 100% 8/8 98.07% 102/104
local_testclass_consistency.ts
91.13% 72/79 88.88% 24/27 100% 5/5 91.13% 72/79
local_variable_names.ts
100% 174/174 96.96% 32/33 100% 10/10 100% 174/174
macro_naming.ts
97.4% 75/77 93.75% 15/16 100% 6/6 97.4% 75/77
main_file_contents.ts
95.65% 110/115 93.93% 31/33 100% 7/7 95.65% 110/115
many_parentheses.ts
94.81% 201/212 88.88% 64/72 100% 9/9 94.81% 201/212
max_one_method_parameter_per_line.ts
93.93% 93/99 85% 17/20 100% 6/6 93.93% 93/99
max_one_statement.ts
100% 77/77 100% 17/17 100% 6/6 100% 77/77
message_exists.ts
98.83% 169/171 97.61% 41/42 100% 11/11 98.83% 169/171
method_implemented_twice.ts
100% 76/76 100% 17/17 100% 5/5 100% 76/76
method_length.ts
98.47% 129/131 97.22% 35/36 100% 10/10 98.47% 129/131
method_overwrites_builtin.ts
100% 64/64 100% 8/8 100% 5/5 100% 64/64
method_parameter_names.ts
96.57% 141/146 91.17% 31/34 100% 11/11 96.57% 141/146
mix_returning.ts
100% 70/70 100% 14/14 100% 6/6 100% 70/70
modify_only_own_db_tables.ts
96.29% 104/108 82.75% 24/29 100% 7/7 96.29% 104/108
msag_consistency.ts
84.67% 105/124 80% 20/25 100% 8/8 84.67% 105/124
names_no_dash.ts
100% 90/90 86.95% 20/23 100% 6/6 100% 90/90
nesting.ts
100% 82/82 100% 24/24 100% 7/7 100% 82/82
newline_between_methods.ts
98.19% 109/111 94.73% 36/38 100% 9/9 98.19% 109/111
no_aliases.ts
100% 67/67 100% 14/14 100% 7/7 100% 67/67
no_chained_assignment.ts
100% 70/70 100% 11/11 100% 6/6 100% 70/70
no_comments_between_methods.ts
100% 78/78 100% 22/22 100% 5/5 100% 78/78
no_dynamic_stuff.ts
100% 198/198 98.57% 69/70 100% 12/12 100% 198/198
no_exclamation_escape.ts
100% 84/84 100% 17/17 100% 6/6 100% 84/84
no_external_form_calls.ts
100% 54/54 100% 11/11 100% 5/5 100% 54/54
no_inline_in_optional_branches.ts
97.53% 79/81 90.9% 10/11 100% 5/5 97.53% 79/81
no_macros.ts
100% 51/51 100% 7/7 100% 5/5 100% 51/51
no_mandt_in_database_operations.ts
100% 112/112 100% 47/47 100% 8/8 100% 112/112
no_prefixes.ts
92.61% 251/271 71.62% 53/74 100% 14/14 92.61% 251/271
no_public_attributes.ts
98.11% 104/106 92.3% 24/26 100% 11/11 98.11% 104/106
no_yoda_conditions.ts
94.59% 105/111 87.17% 34/39 100% 9/9 94.59% 105/111
nrob_consistency.ts
71.21% 47/66 60% 6/10 100% 6/6 71.21% 47/66
object_naming.ts
98.69% 151/153 92% 23/25 100% 9/9 98.69% 151/153
obsolete_statement.ts
99.4% 497/500 98.52% 134/136 100% 7/7 99.4% 497/500
omit_parameter_name.ts
88.88% 120/135 77.27% 34/44 100% 7/7 88.88% 120/135
omit_preceding_zeros.ts
92.85% 65/70 68.42% 13/19 100% 5/5 92.85% 65/70
omit_receiving.ts
94.36% 67/71 86.66% 13/15 100% 5/5 94.36% 67/71
parser_702_chaining.ts
93.04% 107/115 87.87% 29/33 100% 7/7 93.04% 107/115
parser_bad_exceptions.ts
97.43% 76/78 95.45% 21/22 100% 7/7 97.43% 76/78
parser_error.ts
96.42% 81/84 92.85% 13/14 100% 6/6 96.42% 81/84
parser_missing_space.ts
97.87% 322/329 94.23% 98/104 100% 15/15 97.87% 322/329
pragma_style.ts
91.78% 67/73 82.35% 14/17 100% 6/6 91.78% 67/73
prefer_abap_bool.ts
100% 75/75 100% 13/13 100% 5/5 100% 75/75
prefer_abap_bool_values.ts
95.61% 240/251 91.42% 64/70 100% 11/11 95.61% 240/251
prefer_corresponding.ts
96.29% 52/54 88.88% 8/9 100% 5/5 96.29% 52/54
prefer_inline.ts
94.96% 264/278 82.6% 95/115 100% 12/12 94.96% 264/278
prefer_inline_cast.ts
99.22% 255/257 91.09% 133/146 100% 13/13 99.22% 255/257
prefer_insert_into_table.ts
95.12% 78/82 86.66% 13/15 100% 6/6 95.12% 78/82
prefer_is_not.ts
100% 103/103 100% 31/31 100% 6/6 100% 103/103
prefer_pragmas.ts
100% 78/78 100% 14/14 100% 6/6 100% 78/78
prefer_raise_exception_new.ts
100% 78/78 100% 18/18 100% 6/6 100% 78/78
prefer_raise_message.ts
100% 87/87 88.23% 30/34 100% 6/6 100% 87/87
prefer_returning_to_exporting.ts
97.97% 97/99 97.22% 35/36 100% 5/5 97.97% 97/99
prefer_string_template.ts
96.36% 106/110 94.11% 32/34 100% 7/7 96.36% 106/110
prefer_xsdbool.ts
96.72% 59/61 84.61% 11/13 100% 5/5 96.72% 59/61
preferred_compare_operator.ts
100% 100/100 94.44% 17/18 100% 9/9 100% 100/100
preferred_parameter_ignored.ts
100% 113/113 92.85% 26/28 100% 7/7 100% 113/113
prefix_is_current_class.ts
98.11% 208/212 87.27% 48/55 100% 10/10 98.11% 208/212
range_row_values.ts
96.08% 172/179 88.4% 61/69 100% 10/10 96.08% 172/179
reduce_procedural_code.ts
100% 85/85 100% 21/21 100% 6/6 100% 85/85
reduce_string_templates.ts
93.4% 85/91 83.33% 20/24 100% 5/5 93.4% 85/91
redundant_cast.ts
89.33% 134/150 71.42% 30/42 100% 8/8 89.33% 134/150
redundant_conversion.ts
84.01% 268/319 77.77% 91/117 91.66% 11/12 84.01% 268/319
release_idoc.ts
100% 62/62 100% 15/15 100% 7/7 100% 62/62
remove_descriptions.ts
91.97% 126/137 75.86% 44/58 100% 10/10 91.97% 126/137
rfc_error_handling.ts
100% 90/90 100% 22/22 100% 6/6 100% 90/90
select_add_order_by.ts
96.8% 121/125 80.43% 37/46 100% 8/8 96.8% 121/125
select_performance.ts
98.52% 134/136 91.17% 31/34 100% 8/8 98.52% 134/136
select_single_full_key.ts
90% 135/150 77.55% 38/49 100% 9/9 90% 135/150
selection_screen_naming.ts
96.96% 128/132 95% 38/40 100% 11/11 96.96% 128/132
selection_screen_texts_missing.ts
98.31% 117/119 96.87% 31/32 100% 7/7 98.31% 117/119
sequential_blank.ts
100% 76/76 100% 14/14 100% 8/8 100% 76/76
short_case.ts
97.26% 71/73 93.33% 14/15 100% 7/7 97.26% 71/73
sicf_consistency.ts
78.63% 92/117 76.19% 16/21 100% 8/8 78.63% 92/117
single_use_expression_temp.ts
95.34% 655/687 89.75% 368/410 100% 30/30 95.34% 655/687
slow_parameter_passing.ts
98.64% 146/148 83.33% 30/36 100% 8/8 98.64% 146/148
smim_consistency.ts
97.18% 69/71 82.35% 14/17 100% 8/8 97.18% 69/71
sort_empty_key.ts
97.61% 164/168 92.42% 61/66 100% 9/9 97.61% 164/168
space_before_colon.ts
97.56% 80/82 95.23% 20/21 100% 6/6 97.56% 80/82
space_before_dot.ts
100% 99/99 100% 28/28 100% 7/7 100% 99/99
sql_escape_host_variables.ts
97.97% 97/99 83.33% 30/36 100% 5/5 97.97% 97/99
sql_value_conversion.ts
97.43% 76/78 92.3% 12/13 100% 7/7 97.43% 76/78
start_at_tab.ts
97.43% 76/78 95.45% 21/22 100% 6/6 97.43% 76/78
static_call_via_instance.ts
97.89% 93/95 90% 18/20 100% 7/7 97.89% 93/95
strict_sql.ts
97.72% 86/88 75.86% 22/29 100% 5/5 97.72% 86/88
subrc_after_assign.ts
96.82% 183/189 89.77% 79/88 100% 12/12 96.82% 183/189
superclass_final.ts
90.67% 107/118 85.29% 29/34 100% 7/7 90.67% 107/118
superfluous_value.ts
92.4% 73/79 77.27% 17/22 100% 5/5 92.4% 73/79
sy_modification.ts
100% 66/66 100% 16/16 100% 5/5 100% 66/66
sy_read_restriction.ts
96.85% 123/127 87.09% 27/31 100% 5/5 96.85% 123/127
tabl_enhancement_category.ts
100% 61/61 100% 11/11 100% 7/7 100% 61/61
tables_declared_locally.ts
100% 59/59 100% 10/10 100% 5/5 100% 59/59
try_cast_empty_catch.ts
100% 130/130 92% 46/50 100% 7/7 100% 130/130
try_without_catch.ts
100% 57/57 100% 12/12 100% 6/6 100% 57/57
type_form_parameters.ts
100% 61/61 100% 12/12 100% 6/6 100% 61/61
types_naming.ts
100% 89/89 100% 25/25 100% 6/6 100% 89/89
uncaught_exception.ts
95.18% 277/291 81.2% 108/133 100% 16/16 95.18% 277/291
unknown_types.ts
100% 178/178 94.73% 54/57 100% 10/10 100% 178/178
unnecessary_chaining.ts
96.03% 97/101 94.59% 35/37 100% 6/6 96.03% 97/101
unnecessary_copy.ts
100% 106/106 100% 32/32 100% 6/6 100% 106/106
unnecessary_loop_guard.ts
90.08% 109/121 81.25% 26/32 100% 5/5 90.08% 109/121
unnecessary_pragma.ts
100% 209/209 100% 75/75 100% 10/10 100% 209/209
unnecessary_return.ts
100% 108/108 100% 30/30 100% 6/6 100% 108/108
unreachable_code.ts
98.24% 112/114 94.11% 48/51 100% 8/8 98.24% 112/114
unsecure_fae.ts
100% 63/63 100% 16/16 100% 6/6 100% 63/63
unused_ddic.ts
100% 63/63 100% 15/15 100% 7/7 100% 63/63
unused_macros.ts
97.43% 76/78 87.5% 14/16 100% 7/7 97.43% 76/78
unused_methods.ts
88.96% 266/299 82.65% 81/98 94.44% 17/18 88.96% 266/299
unused_types.ts
93.77% 211/225 87.5% 63/72 100% 16/16 93.77% 211/225
unused_variables.ts
95.69% 289/302 91.57% 87/95 100% 19/19 95.69% 289/302
use_bool_expression.ts
96.99% 129/133 80.3% 53/66 100% 5/5 96.99% 129/133
use_class_based_exceptions.ts
100% 59/59 100% 11/11 100% 6/6 100% 59/59
use_line_exists.ts
92.92% 105/113 82.35% 28/34 100% 7/7 92.92% 105/113
use_message_class.ts
98.4% 123/125 87.23% 41/47 100% 8/8 98.4% 123/125
use_new.ts
96% 96/100 84.37% 27/32 100% 7/7 96% 96/100
when_others_last.ts
100% 71/71 100% 12/12 100% 6/6 100% 71/71
whitespace_end.ts
97.1% 67/69 91.66% 11/12 100% 7/7 97.1% 67/69
wrong_abapdoc_position.ts
99.45% 181/182 98.52% 67/68 100% 8/8 99.45% 181/182
xml_bom.ts
100% 53/53 100% 10/10 100% 7/7 100% 53/53
xml_consistency.ts
98.83% 338/342 76.25% 122/160 100% 22/22 98.83% 338/342