Coverage report: 88%

Files Functions Classes

coverage.py v7.10.6, created at 2025-12-23 15:36 +0100

File function statements missing excluded coverage
src/csv_schema_validator/__init__.py (no function) 6 0 0 100%
src/csv_schema_validator/cli/__init__.py (no function) 3 0 0 100%
src/csv_schema_validator/cli/cli.py show_help 2 2 0 0%
src/csv_schema_validator/cli/cli.py show_version 1 1 0 0%
src/csv_schema_validator/cli/cli.py cli 59 59 0 0%
src/csv_schema_validator/cli/cli.py (no function) 12 1 0 92%
src/csv_schema_validator/cli/tests/__init__.py (no function) 0 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.temp_dir 2 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.project_root 1 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.basic_schema 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.valid_csv 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.invalid_csv 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.empty_csv 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.malformed_json_schema 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.run_cli 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_success_with_valid_files 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_success_with_minimal_valid_data 7 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_validation_failure_with_invalid_data 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_validation_failure_with_empty_csv 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_missing_csv_file 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_missing_schema_file 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_missing_both_files 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_help_long_flag 12 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_help_short_flag 7 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_version_long_flag 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_version_short_flag 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_help_with_other_args 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_version_with_other_args 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_no_arguments 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_insufficient_arguments_one 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_too_many_arguments 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_malformed_json_schema 3 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_empty_schema_file 6 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_output_formatting_success 5 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_output_formatting_failure 4 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_with_unicode_data 7 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_with_large_csv 9 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_with_special_characters_in_paths 7 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py TestCLI.test_cli_execution_time 7 0 0 100%
src/csv_schema_validator/cli/tests/test_cli.py (no function) 46 0 0 100%
src/csv_schema_validator/core/__init__.py (no function) 5 0 0 100%
src/csv_schema_validator/core/models.py FieldSchema.validate_pattern 7 0 0 100%
src/csv_schema_validator/core/models.py FieldSchema.validate_min_max 4 0 0 100%
src/csv_schema_validator/core/models.py CSVSchema.validate_fields 4 0 0 100%
src/csv_schema_validator/core/models.py (no function) 32 0 0 100%
src/csv_schema_validator/core/types.py SchemaValidatorProtocol.__call__ 0 0 1 100%
src/csv_schema_validator/core/types.py (no function) 10 0 3 100%
src/csv_schema_validator/core/validator.py SchemaValidationError.__init__ 4 0 0 100%
src/csv_schema_validator/core/validator.py SchemaValidationError.to_dict 1 0 0 100%
src/csv_schema_validator/core/validator.py validate_schema_structure 16 3 0 81%
src/csv_schema_validator/core/validator.py (no function) 9 0 0 100%
src/csv_schema_validator/exceptions.py CSVValidationError.__init__ 6 0 0 100%
src/csv_schema_validator/exceptions.py CSVValidationError.to_dict 1 0 0 100%
src/csv_schema_validator/exceptions.py SchemaValidationError.__init__ 2 2 0 0%
src/csv_schema_validator/exceptions.py FileError.__init__ 2 0 0 100%
src/csv_schema_validator/exceptions.py FileError.to_dict 3 0 0 100%
src/csv_schema_validator/exceptions.py CSVFileError.__init__ 1 0 0 100%
src/csv_schema_validator/exceptions.py SchemaFileError.__init__ 1 1 0 0%
src/csv_schema_validator/exceptions.py EmptyFileError.__init__ 2 0 0 100%
src/csv_schema_validator/exceptions.py InvalidJSONError.__init__ 2 2 0 0%
src/csv_schema_validator/exceptions.py (no function) 20 0 0 100%
src/csv_schema_validator/field_validators/__init__.py (no function) 5 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py FieldValidationError.__init__ 7 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py FieldValidationError.to_dict 1 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py TypeValidationError.__init__ 3 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py PatternValidationError.__init__ 2 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py EnumValidationError.__init__ 2 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py RangeValidationError.__init__ 9 2 0 78%
src/csv_schema_validator/field_validators/exceptions.py RequiredFieldError.__init__ 2 0 0 100%
src/csv_schema_validator/field_validators/exceptions.py ValidationConfigurationError.__init__ 3 3 0 0%
src/csv_schema_validator/field_validators/exceptions.py ValidationConfigurationError.to_dict 1 1 0 0%
src/csv_schema_validator/field_validators/exceptions.py (no function) 18 0 0 100%
src/csv_schema_validator/field_validators/types.py ValidationProtocol.__call__ 0 0 1 100%
src/csv_schema_validator/field_validators/types.py (no function) 10 0 3 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.validate_row 7 0 0 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.is_field_valid 18 0 0 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.is_type_valid 27 3 0 89%
src/csv_schema_validator/field_validators/validator.py FieldValidator.validate_pattern 4 0 0 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.validate_enum 4 0 0 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.validate_range 12 3 0 75%
src/csv_schema_validator/field_validators/validator.py FieldValidator.dict_array_to_dict 1 0 0 100%
src/csv_schema_validator/field_validators/validator.py FieldValidator.validate_required_fields 7 0 0 100%
src/csv_schema_validator/field_validators/validator.py (no function) 22 0 0 100%
src/csv_schema_validator/main.py (no function) 3 3 0 0%
src/csv_schema_validator/schema_models.py (no function) 3 0 0 100%
src/csv_schema_validator/schema_validator.py (no function) 3 0 0 100%
src/csv_schema_validator/tests/__init__.py (no function) 0 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.temp_dir 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.basic_schema 1 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.invalid_schema 1 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.non_json_non_text_schema 1 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.non_json_text_schema 1 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.valid_csv 5 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.invalid_csv 5 5 0 0%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.non_matching_csv 5 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_empty_file 5 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_invalid_schema 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_non_json_text_schema 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_non_json_non_text_schema 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_valid_csv 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_non_matching_csv 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_edge_case_data_types 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_min_max_boundaries 8 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_large_file 9 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_with_quotes_and_commas 8 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_unicode_characters 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_schema_duplicate_field_names 8 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_schema_invalid_regex_pattern 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_schema_min_max_on_string_boolean 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_nonexistent_file 2 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_whitespace_only_fields 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_number_formats 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_boolean_case_variations 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_no_required_fields 8 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_extra_columns 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_error_message_clarity 11 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_empty_fields_with_required_constraints 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_very_long_strings 7 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_scientific_notation 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_negative_numbers 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py TestValidateCSV.test_validate_csv_zero_values 6 0 0 100%
src/csv_schema_validator/tests/test_validate_csv.py (no function) 47 0 0 100%
src/csv_schema_validator/types.py (no function) 6 0 0 100%
src/csv_schema_validator/validate_csv.py validate_csv 37 12 0 68%
src/csv_schema_validator/validate_csv.py (no function) 8 0 0 100%
src/csv_schema_validator/validator.py (no function) 3 0 0 100%
Total   882 103 8 88%

No items found using the specified filter.