← Về thư mục
scripts/test_citation_verification_summary.py
- schema · function · L31-L33 — def schema()
- validator · function · L37-L39 — def validator(schema)
- _entry · function · L42-L63 — def _entry(**overrides): # Production-shaped: all four resolver keys present (the summary contract is # fully-populated; absent != skipped). crossref matched, the rest skipped.
- _full_ro · function · L66-L71 — def _full_ro(**overrides)
- test_schema_is_valid_draft_2020_12 · function · L77-L78 — def test_schema_is_valid_draft_2020_12(schema)
- test_minimal_valid_entry · function · L81-L82 — def test_minimal_valid_entry(validator)
- test_lookup_verified_enum_is_three_class · function · L85-L90 — def test_lookup_verified_enum_is_three_class(validator)
- test_required_fields_enforced · function · L93-L98 — def test_required_fields_enforced(validator)
- test_verification_timestamp_never_null · function · L101-L102 — def test_verification_timestamp_never_null(validator)
- test_resolver_outcome_status_enum · function · L105-L115 — def test_resolver_outcome_status_enum(validator): # status enum exercised with a coherent queried_by per status (ran→id, # skipped/unreachable→null), against the full four-resolver shape.
- test_resolver_outcome_queried_by_enum · function · L118-L129 — def test_resolver_outcome_queried_by_enum(validator)
- test_resolver_outcomes_closed_to_four_resolvers · function · L132-L135 — def test_resolver_outcomes_closed_to_four_resolvers(validator)
- test_resolver_outcomes_requires_all_four_resolver_keys · function · L138-L145 — def test_resolver_outcomes_requires_all_four_resolver_keys(validator)
- test_resolver_outcome_requires_queried_by · function · L148-L159 — def test_resolver_outcome_requires_queried_by(validator)
- test_matched_and_unmatched_require_non_null_queried_by · function · L162-L174 — def test_matched_and_unmatched_require_non_null_queried_by(validator)
- test_skipped_and_unreachable_require_null_queried_by · function · L177-L189 — def test_skipped_and_unreachable_require_null_queried_by(validator)
- test_resolver_outcome_object_is_closed · function · L192-L196 — def test_resolver_outcome_object_is_closed(validator)
- test_top_level_additional_properties_false · function · L199-L200 — def test_top_level_additional_properties_false(validator)
- _ro · function · L206-L217 — def _ro(**resolvers)
- test_reduce_matched_wins_true · function · L220-L226 — def test_reduce_matched_wins_true()
- test_reduce_id_keyed_unmatched_is_false · function · L229-L235 — def test_reduce_id_keyed_unmatched_is_false()
- test_reduce_title_only_unmatched_is_unresolvable_NOT_false · function · L238-L245 — def test_reduce_title_only_unmatched_is_unresolvable_NOT_false()
- test_reduce_mixed_id_and_title_unmatched_is_false · function · L248-L254 — def test_reduce_mixed_id_and_title_unmatched_is_false()
- test_reduce_anti_fabrication_bias_id_unmatched_plus_unreachable · function · L257-L266 — def test_reduce_anti_fabrication_bias_id_unmatched_plus_unreachable()
- test_reduce_title_unmatched_plus_unreachable_is_unresolvable · function · L269-L276 — def test_reduce_title_unmatched_plus_unreachable_is_unresolvable()
- test_reduce_all_unreachable_is_unresolvable · function · L279-L284 — def test_reduce_all_unreachable_is_unresolvable()
- test_reduce_all_skipped_is_unresolvable · function · L287-L296 — def test_reduce_all_skipped_is_unresolvable()
- test_reduce_skipped_excluded_matched_still_true · function · L299-L305 — def test_reduce_skipped_excluded_matched_still_true()
- test_reduce_by_design_false_negative_no_id_bogus_title · function · L308-L318 — def test_reduce_by_design_false_negative_no_id_bogus_title()
- test_reduce_empty_outcomes_is_unresolvable · function · L321-L323 — def test_reduce_empty_outcomes_is_unresolvable()
- test_reduce_legacy_unmatched_missing_queried_by_is_unresolvable · function · L326-L334 — def test_reduce_legacy_unmatched_missing_queried_by_is_unresolvable()
- test_reduce_none_valued_outcome_is_ignored · function · L337-L341 — def test_reduce_none_valued_outcome_is_ignored()