Coverage report:
85%
hide covered
Files
Functions
Classes
coverage.py v7.13.5
, created at 2026-03-25 09:44 +0000
File
function
statements
missing
excluded
coverage
genschema / __init__.py
(no function)
4
0
0
100%
genschema / cli.py
_build_parser
17
0
0
100%
genschema / cli.py
main
82
32
0
61%
genschema / cli.py
(no function)
13
1
0
92%
genschema / comparators / __init__.py
(no function)
11
0
0
100%
genschema / comparators / delete_element.py
DeleteElement.__init__
2
0
0
100%
genschema / comparators / delete_element.py
DeleteElement.can_process
1
0
0
100%
genschema / comparators / delete_element.py
DeleteElement.process
1
0
0
100%
genschema / comparators / delete_element.py
(no function)
7
0
0
100%
genschema / comparators / empty.py
EmptyComparator.__init__
2
0
0
100%
genschema / comparators / empty.py
EmptyComparator.can_process
2
0
0
100%
genschema / comparators / empty.py
EmptyComparator.process
15
1
0
93%
genschema / comparators / empty.py
EmptyComparator.process.is_nonempty
6
1
0
83%
genschema / comparators / empty.py
(no function)
6
0
0
100%
genschema / comparators / enum.py
EnumComparator._extract_field_name
4
1
0
75%
genschema / comparators / enum.py
EnumComparator._schema_type_matches
1
0
0
100%
genschema / comparators / enum.py
EnumComparator._collect_schema_values
12
1
0
92%
genschema / comparators / enum.py
EnumComparator._collect_json_values
6
0
0
100%
genschema / comparators / enum.py
EnumComparator._has_blank_string_value
1
0
0
100%
genschema / comparators / enum.py
EnumComparator._has_digit_only_string_value
1
0
0
100%
genschema / comparators / enum.py
EnumComparator._has_float_like_string_value
1
0
0
100%
genschema / comparators / enum.py
EnumComparator._has_schema_flag
4
0
0
100%
genschema / comparators / enum.py
EnumComparator._first_schema_format
8
1
0
88%
genschema / comparators / enum.py
EnumComparator._reject
4
0
0
100%
genschema / comparators / enum.py
EnumComparator.can_process
12
0
0
100%
genschema / comparators / enum.py
EnumComparator.process
25
0
0
100%
genschema / comparators / enum.py
(no function)
30
0
0
100%
genschema / comparators / flag.py
FlagMaker.can_process
1
1
0
0%
genschema / comparators / flag.py
FlagMaker.process
1
1
0
0%
genschema / comparators / flag.py
(no function)
5
0
0
100%
genschema / comparators / format.py
FormatDetector.detect
5
0
0
100%
genschema / comparators / format.py
FormatComparator.can_process
1
0
0
100%
genschema / comparators / format.py
FormatComparator.process
28
1
0
96%
genschema / comparators / format.py
(no function)
14
0
0
100%
genschema / comparators / no_additional_prop.py
NoAdditionalProperties.can_process
1
0
0
100%
genschema / comparators / no_additional_prop.py
NoAdditionalProperties.process
2
0
0
100%
genschema / comparators / no_additional_prop.py
(no function)
6
0
0
100%
genschema / comparators / preserve_common_keywords.py
PreserveCommonKeywordsComparator.can_process
1
0
0
100%
genschema / comparators / preserve_common_keywords.py
PreserveCommonKeywordsComparator.process
16
2
0
88%
genschema / comparators / preserve_common_keywords.py
(no function)
11
0
0
100%
genschema / comparators / required.py
RequiredComparator.can_process
1
0
0
100%
genschema / comparators / required.py
RequiredComparator.process
23
1
0
96%
genschema / comparators / required.py
(no function)
6
0
0
100%
genschema / comparators / schema_version.py
SchemaVersionComparator.__init__
1
0
0
100%
genschema / comparators / schema_version.py
SchemaVersionComparator.can_process
1
0
0
100%
genschema / comparators / schema_version.py
SchemaVersionComparator.process
1
0
0
100%
genschema / comparators / schema_version.py
(no function)
6
0
0
100%
genschema / comparators / template.py
Comparator.can_process
1
1
0
0%
genschema / comparators / template.py
Comparator.process
1
1
0
0%
genschema / comparators / template.py
(no function)
21
0
0
100%
genschema / comparators / type.py
infer_json_type
15
0
0
100%
genschema / comparators / type.py
infer_schema_type
11
0
0
100%
genschema / comparators / type.py
_unique_keep_order
8
0
0
100%
genschema / comparators / type.py
infer_schema_types
29
1
0
97%
genschema / comparators / type.py
TypeComparator.can_process
1
0
0
100%
genschema / comparators / type.py
TypeComparator.process
18
1
0
94%
genschema / comparators / type.py
(no function)
10
0
0
100%
genschema / node.py
SchemaNode.__init__
2
2
0
0%
genschema / node.py
SchemaNode.as_dict
1
1
0
0%
genschema / node.py
(no function)
10
10
0
0%
genschema / pipeline.py
Converter.__init__
7
0
0
100%
genschema / pipeline.py
Converter.add_schema
5
2
0
60%
genschema / pipeline.py
Converter.add_json
5
2
0
60%
genschema / pipeline.py
Converter.clear_data
3
3
0
0%
genschema / pipeline.py
Converter.register
3
1
0
67%
genschema / pipeline.py
Converter._collect_prop_names
9
0
0
100%
genschema / pipeline.py
Converter._gather_property_candidates
9
0
0
100%
genschema / pipeline.py
Converter._keys_matched_by_pattern
5
0
0
100%
genschema / pipeline.py
Converter._split_array_ctx
63
17
0
73%
genschema / pipeline.py
Converter._filter_ctx_by_ids
5
1
0
80%
genschema / pipeline.py
Converter._run_level
36
0
0
100%
genschema / pipeline.py
Converter._run_level.use_comp
8
0
0
100%
genschema / pipeline.py
Converter._run_object
10
1
0
90%
genschema / pipeline.py
Converter._run_pseudo_array
7
1
0
86%
genschema / pipeline.py
Converter._run_array
5
0
0
100%
genschema / pipeline.py
Converter.run
2
0
0
100%
genschema / pipeline.py
(no function)
25
0
0
100%
genschema / postprocessing / __init__.py
(no function)
2
0
0
100%
genschema / postprocessing / schema_references.py
_default_similarity
6
2
0
67%
genschema / postprocessing / schema_references.py
SchemaReferenceExtractionConfig.__post_init__
10
5
0
50%
genschema / postprocessing / schema_references.py
SchemaReferenceExtractionConfig.normalized_ref_prefix
3
1
0
67%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor.process
25
3
0
88%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor.extract
1
1
0
0%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._collect_candidates
4
0
0
100%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._collect_candidates.walk
26
6
0
77%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._is_schema_candidate
6
2
0
67%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._type_signature
13
10
0
23%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._collect_structural_tokens
4
0
0
100%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._collect_structural_tokens.walk
42
12
0
71%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._count_total_keys
1
0
0
100%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._build_groups
35
1
0
97%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._merge_group
2
0
0
100%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._default_merge_strategy
8
0
0
100%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._select_groups
16
7
0
56%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._paths_overlap
2
2
0
0%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._replace_at_path
22
12
0
45%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._default_name_factory
13
3
0
77%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._normalize_definition_name
7
2
0
71%
genschema / postprocessing / schema_references.py
SchemaReferencePostprocessor._ensure_unique_definition_name
6
2
0
67%
genschema / postprocessing / schema_references.py
(no function)
90
0
0
100%
genschema / pseudo_arrays.py
PseudoArrayHandlerBase.is_pseudo_array
1
1
0
0%
genschema / pseudo_arrays.py
PseudoArrayHandler.is_pseudo_array
7
1
0
86%
genschema / pseudo_arrays.py
(no function)
6
0
0
100%
Total
1102
162
0
85%
No items found using the specified filter.