mirror of
https://github.com/dorny/test-reporter.git
synced 2025-12-16 06:17:10 +01:00
70 KiB
70 KiB
✅ FluentValidation.Tests
804 tests were completed in 4s with 803 passed, 0 failed and 1 skipped.
✅ FluentValidation.Tests.AbstractValidatorTester
:white_check_mark: Can_replace_default_errorcode_resolver
:white_check_mark: CanValidateInstancesOfType_returns_false_when_comparing_against_some_other_type
:white_check_mark: CanValidateInstancesOfType_returns_true_when_comparing_against_same_type
:white_check_mark: CanValidateInstancesOfType_returns_true_when_comparing_against_subclass
:white_check_mark: Default_error_code_should_be_class_name
:white_check_mark: OverridePropertyName_should_override_property_name
:white_check_mark: OverridePropertyName_with_lambda_should_override_property_name
:white_check_mark: PreValidate_bypasses_nullcheck_on_instance
:white_check_mark: RuleForeach_with_null_instances
:white_check_mark: Should_be_valid_when_there_are_no_failures_for_single_property
:white_check_mark: Should_not_main_state
:white_check_mark: Should_throw_for_non_member_expression_when_validating_single_property
:white_check_mark: Should_throw_when_rule_is_null
:white_check_mark: Should_validate_public_Field
:white_check_mark: Should_validate_single_Field
:white_check_mark: Should_validate_single_property
:white_check_mark: Should_validate_single_property_where_invalid_property_as_string
:white_check_mark: Should_validate_single_property_where_property_as_string
:white_check_mark: Uses_named_parameters_to_validate_ruleset
:white_check_mark: Validates_single_property_by_path
:white_check_mark: Validates_type_when_using_non_generic_validate_overload
:white_check_mark: When_the_validators_fail_then_the_errors_Should_be_accessible_via_the_errors_property
:white_check_mark: When_the_validators_fail_then_validatorrunner_should_return_false
:white_check_mark: When_the_Validators_pass_then_the_validatorRunner_should_return_true
:white_check_mark: WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: )
:white_check_mark: WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: AnotherInt Test Message)
:white_check_mark: WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: )
:white_check_mark: WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: AnotherInt Test Message)
:white_check_mark: WhenPreValidationReturnsTrue_ValidatorsGetHit_Validate
:white_check_mark: WhenPreValidationReturnsTrue_ValidatorsGetHit_ValidateAsync
:white_check_mark: WithErrorCode_should_override_error_code
:white_check_mark: WithMessage_and_WithErrorCode_should_override_error_message_and_error_code
:white_check_mark: WithMessage_should_override_error_message
:white_check_mark: WithName_should_override_field_name
:white_check_mark: WithName_should_override_field_name_with_value_from_other_property
✅ FluentValidation.Tests.AccessorCacheTests
:warning: Benchmark
:white_check_mark: Equality_comparison_check
:white_check_mark: Gets_accessor
:white_check_mark: Gets_member_for_nested_property
:white_check_mark: Identifies_if_memberexp_acts_on_model_instance
✅ FluentValidation.Tests.AssemblyScannerTester
:white_check_mark: Finds_validators_for_types
:white_check_mark: ForEach_iterates_over_types
✅ FluentValidation.Tests.CascadingFailuresTester
:white_check_mark: Cascade_mode_can_be_set_after_validator_instantiated
:white_check_mark: Cascade_mode_can_be_set_after_validator_instantiated_async
:white_check_mark: Cascade_mode_can_be_set_after_validator_instantiated_async_legacy
:white_check_mark: Cascade_mode_can_be_set_after_validator_instantiated_legacy
:white_check_mark: Validation_continues_on_failure
:white_check_mark: Validation_continues_on_failure_async
:white_check_mark: Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level
:white_check_mark: Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async
:white_check_mark: Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async_legacy
:white_check_mark: Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_legacy
:white_check_mark: Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level
:white_check_mark: Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async
:white_check_mark: Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async_legacy
:white_check_mark: Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_legacy
:white_check_mark: Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop
:white_check_mark: Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async
:white_check_mark: Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async_legacy
:white_check_mark: Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_legacy
:white_check_mark: Validation_continues_when_set_to_Continue_at_validator_level
:white_check_mark: Validation_continues_when_set_to_Continue_at_validator_level_async
:white_check_mark: Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level
:white_check_mark: Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async
:white_check_mark: Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async_legacy
:white_check_mark: Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_legacy
:white_check_mark: Validation_stops_on_first_failure
:white_check_mark: Validation_stops_on_first_failure_async
:white_check_mark: Validation_stops_on_first_failure_async_legacy
:white_check_mark: Validation_stops_on_first_failure_legacy
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously_legacy
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async_legacy
:white_check_mark: Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_legacy
:white_check_mark: Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level
:white_check_mark: Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async
:white_check_mark: Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async_legacy
:white_check_mark: Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_legacy
✅ FluentValidation.Tests.ChainedValidationTester
:white_check_mark: Can_validate_using_validator_for_base_type
:white_check_mark: Chained_property_should_be_excluded
:white_check_mark: Chained_validator_descriptor
:white_check_mark: Chained_validator_should_not_be_invoked_on_null_property
:white_check_mark: Condition_should_work_with_chained_property
:white_check_mark: Explicitly_included_properties_should_be_propagated_to_nested_validators
:white_check_mark: Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings
:white_check_mark: Separate_validation_on_chained_property
:white_check_mark: Separate_validation_on_chained_property_conditional
:white_check_mark: Separate_validation_on_chained_property_valid
:white_check_mark: Should_allow_normal_rules_and_chained_property_on_same_property
:white_check_mark: Uses_explicit_ruleset
:white_check_mark: Validates_chained_property
✅ FluentValidation.Tests.ChainingValidatorsTester
:white_check_mark: Options_should_only_apply_to_current_validator
:white_check_mark: Should_create_multiple_validators
:white_check_mark: Should_execute_multiple_validators
✅ FluentValidation.Tests.ChildRulesTests
:white_check_mark: Can_define_nested_rules_for_collection
:white_check_mark: ChildRules_works_with_RuleSet
✅ FluentValidation.Tests.CollectionValidatorWithParentTests
:white_check_mark: Async_condition_should_work_with_child_collection
:white_check_mark: Can_specify_condition_for_individual_collection_elements
:white_check_mark: Can_validate_collection_using_validator_for_base_type
:white_check_mark: Collection_should_be_excluded
:white_check_mark: Collection_should_be_explicitly_included_with_expression
:white_check_mark: Collection_should_be_explicitly_included_with_string
:white_check_mark: Condition_should_work_with_child_collection
:white_check_mark: Creates_validator_using_context_from_property_value
:white_check_mark: Should_override_property_name
:white_check_mark: Should_work_with_top_level_collection_validator
:white_check_mark: Should_work_with_top_level_collection_validator_and_overriden_name
:white_check_mark: Skips_null_items
:white_check_mark: Validates_collection
:white_check_mark: Validates_collection_asynchronously
:white_check_mark: Validates_collection_several_levels_deep
:white_check_mark: Validates_collection_several_levels_deep_async
✅ FluentValidation.Tests.ComplexValidationTester
:white_check_mark: Async_condition_should_work_with_complex_property
:white_check_mark: Async_condition_should_work_with_complex_property_when_validator_invoked_synchronously
:white_check_mark: Can_directly_validate_multiple_fields_of_same_type
:white_check_mark: Can_validate_using_validator_for_base_type
:white_check_mark: Complex_property_should_be_excluded
:white_check_mark: Complex_validator_should_not_be_invoked_on_null_property
:white_check_mark: Condition_should_work_with_complex_property
:white_check_mark: Condition_should_work_with_complex_property_when_invoked_async
:white_check_mark: Explicitly_included_properties_should_be_propagated_to_nested_validators
:white_check_mark: Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings
:white_check_mark: Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor
:white_check_mark: Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor_async
:white_check_mark: Should_allow_normal_rules_and_complex_property_on_same_property
:white_check_mark: Should_override_propertyName
:white_check_mark: Validates_child_validator_asynchronously
:white_check_mark: Validates_child_validator_synchronously
:white_check_mark: Validates_complex_property
✅ FluentValidation.Tests.ConditionTests
:white_check_mark: Async_condition_executed_synchronosuly_with_asynchronous_collection_rule
:white_check_mark: Async_condition_executed_synchronosuly_with_asynchronous_rule
:white_check_mark: Async_condition_executed_synchronosuly_with_synchronous_collection_role
:white_check_mark: Async_condition_executed_synchronosuly_with_synchronous_role
:white_check_mark: Async_condition_is_applied_to_all_validators_in_the_chain
:white_check_mark: Async_condition_is_applied_to_all_validators_in_the_chain_when_executed_synchronously
:white_check_mark: Async_condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator
:white_check_mark: Condition_is_applied_to_all_validators_in_the_chain
:white_check_mark: Condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator
:white_check_mark: Sync_condition_is_applied_to_async_validators
:white_check_mark: Validation_should_fail_when_async_condition_does_not_match
:white_check_mark: Validation_should_fail_when_async_condition_matches
:white_check_mark: Validation_should_fail_when_condition_does_not_match
:white_check_mark: Validation_should_fail_when_condition_matches
:white_check_mark: Validation_should_succeed_when_async_condition_does_not_match
:white_check_mark: Validation_should_succeed_when_async_condition_matches
:white_check_mark: Validation_should_succeed_when_condition_does_not_match
:white_check_mark: Validation_should_succeed_when_condition_matches
✅ FluentValidation.Tests.CreditCardValidatorTests
:white_check_mark: IsValidTests
:white_check_mark: When_validation_fails_the_default_error_should_be_set
✅ FluentValidation.Tests.CustomFailureActionTester
:white_check_mark: Does_not_invoke_action_if_validation_success
:white_check_mark: Invokes_custom_action_on_failure
:white_check_mark: Passes_object_being_validated_to_action
✅ FluentValidation.Tests.CustomMessageFormatTester
:white_check_mark: Replaces_propertyvalue_placeholder
:white_check_mark: Replaces_propertyvalue_with_empty_string_when_null
:white_check_mark: Should_format_custom_message
:white_check_mark: Uses_custom_delegate_for_building_message
:white_check_mark: Uses_custom_delegate_for_building_message_only_for_specific_validator
:white_check_mark: Uses_property_value_in_message
✅ FluentValidation.Tests.CustomValidatorTester
:white_check_mark: New_Custom_Returns_single_failure
:white_check_mark: New_Custom_Returns_single_failure_async
:white_check_mark: New_custom_uses_empty_property_name_for_model_level_rule
:white_check_mark: New_Custom_When_property_name_omitted_infers_property_name
:white_check_mark: New_Custom_When_property_name_omitted_infers_property_name_nested
:white_check_mark: New_Custom_within_ruleset
:white_check_mark: New_CustomAsync_within_ruleset
:white_check_mark: Perserves_property_chain_using_custom
:white_check_mark: Runs_async_rule_synchronously_when_validator_invoked_synchronously
:white_check_mark: Runs_sync_rule_asynchronously_when_validator_invoked_asynchronously
✅ FluentValidation.Tests.DefaultValidatorExtensionTester
:white_check_mark: Empty_should_create_EmptyValidator
:white_check_mark: Equal_should_create_EqualValidator_with_explicit_value
:white_check_mark: Equal_should_create_EqualValidator_with_lambda
:white_check_mark: GreaterThan_should_create_GreaterThanValidator_with_explicit_value
:white_check_mark: GreaterThan_should_create_GreaterThanValidator_with_lambda
:white_check_mark: GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_explicit_value
:white_check_mark: GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda
:white_check_mark: GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda_with_other_Nullable
:white_check_mark: Length_should_create_ExactLengthValidator
:white_check_mark: Length_should_create_LengthValidator
:white_check_mark: Length_should_create_MaximumLengthValidator
:white_check_mark: Length_should_create_MinimumLengthValidator
:white_check_mark: LessThan_should_create_LessThanValidator_with_explicit_value
:white_check_mark: LessThan_should_create_LessThanValidator_with_lambda
:white_check_mark: LessThanOrEqual_should_create_LessThanOrEqualValidator_with_explicit_value
:white_check_mark: LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda
:white_check_mark: LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda_with_other_Nullable
:white_check_mark: Must_should_create_PredicateValidator_with_context
:white_check_mark: Must_should_create_PredicateValidator_with_PropertyValidatorContext
:white_check_mark: Must_should_create_PredicteValidator
:white_check_mark: MustAsync_should_create_AsyncPredicateValidator_with_context
:white_check_mark: MustAsync_should_create_AsyncPredicateValidator_with_PropertyValidatorContext
:white_check_mark: MustAsync_should_create_AsyncPredicteValidator
:white_check_mark: MustAsync_should_not_throw_InvalidCastException
:white_check_mark: NotEmpty_should_create_NotEmptyValidator
:white_check_mark: NotEqual_should_create_NotEqualValidator_with_explicit_value
:white_check_mark: NotEqual_should_create_NotEqualValidator_with_lambda
:white_check_mark: NotNull_should_create_NotNullValidator
:white_check_mark: ScalePrecision_should_create_ScalePrecisionValidator
:white_check_mark: ScalePrecision_should_create_ScalePrecisionValidator_with_ignore_trailing_zeros
✅ FluentValidation.Tests.EmailValidatorTests
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: " \r \t \n")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "@someDomain.com")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "@someDomain@abc.com")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "0")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "someName")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "someName@")
:white_check_mark: Fails_email_validation_aspnetcore_compatible(email: "someName@a@b.com")
:white_check_mark: Invalid_email_addressex_regex(email: "")
:white_check_mark: Invalid_email_addressex_regex(email: "first.last@test..co.uk")
:white_check_mark: Invalid_email_addressex_regex(email: "testperso")
:white_check_mark: Invalid_email_addressex_regex(email: "thisisaverylongstringcodeplex.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: " @someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "!#$%&'*+-/=?^_`|~@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "\"firstName.lastName\"@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "1234@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "firstName.lastName@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "someName@1234.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "someName@some_domain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "someName@some~domain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain.com")
:white_check_mark: Valid_email_addresses_aspnetcore_compatible(email: null)
:white_check_mark: Valid_email_addresses_regex(email: "__somename@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "!def!xyz%abc@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "\"Abc@def\"@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "\"Abc\\@def\"@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "\"Fred Bloggs\"@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "\"Joe\\Blow\"@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "$A12345@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "customer/department=shipping@example.com")
:white_check_mark: Valid_email_addresses_regex(email: "first.last@test.co.uk")
:white_check_mark: Valid_email_addresses_regex(email: "testperson@gmail.com")
:white_check_mark: Valid_email_addresses_regex(email: "TestPerson@gmail.com")
:white_check_mark: Valid_email_addresses_regex(email: "testperson+label@gmail.com")
:white_check_mark: Valid_email_addresses_regex(email: null)
✅ FluentValidation.Tests.EmptyTester
:white_check_mark: Passes_for_ienumerable_that_doesnt_implement_ICollection
:white_check_mark: Passes_when_collection_empty
:white_check_mark: When_there_is_a_value_then_the_validator_should_fail
:white_check_mark: When_validation_fails_error_should_be_set
:white_check_mark: When_value_is_Default_for_type_validator_should_pass_datetime
:white_check_mark: When_value_is_Default_for_type_validator_should_pass_int
:white_check_mark: When_value_is_empty_string_validator_should_pass
:white_check_mark: When_value_is_null_validator_should_pass
:white_check_mark: When_value_is_whitespace_validation_should_pass
✅ FluentValidation.Tests.EnumValidatorTests
:white_check_mark: Flags_enum_invalid_when_using_outofrange_negative_value
:white_check_mark: Flags_enum_invalid_when_using_outofrange_positive_value
:white_check_mark: Flags_enum_valid_when_using_bitwise_value
:white_check_mark: Flags_enum_validates_correctly_when_using_zero_value
:white_check_mark: Flags_enum_with_overlapping_flags_valid_when_using_bitwise_value
:white_check_mark: IsValidTests
:white_check_mark: Nullable_enum_invalid_when_bad_value_specified
:white_check_mark: Nullable_enum_valid_when_property_value_is_null
:white_check_mark: Nullable_enum_valid_when_value_specified
:white_check_mark: When_the_enum_is_initialized_with_invalid_value_then_the_validator_should_fail
:white_check_mark: When_the_enum_is_not_initialized_with_valid_value_then_the_validator_should_fail
:white_check_mark: When_validation_fails_the_default_error_should_be_set
✅ FluentValidation.Tests.EqualValidatorTests
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Should_store_comparison_type
:white_check_mark: Should_store_property_to_compare
:white_check_mark: Should_succeed_on_case_insensitive_comparison
:white_check_mark: Should_succeed_on_case_insensitive_comparison_using_expression
:white_check_mark: Should_use_ordinal_comparison_by_default
:white_check_mark: Validates_against_property
:white_check_mark: When_the_objects_are_equal_validation_should_succeed
:white_check_mark: When_the_objects_are_not_equal_validation_should_fail
:white_check_mark: When_validation_fails_the_error_should_be_set
✅ FluentValidation.Tests.ExactLengthValidatorTester
:white_check_mark: Min_and_max_properties_should_be_set
:white_check_mark: When_exact_length_rule_failes_error_should_have_exact_length_error_errorcode
:white_check_mark: When_the_text_is_an_exact_length_the_validator_should_pass
:white_check_mark: When_the_text_length_is_larger_the_validator_should_fail
:white_check_mark: When_the_text_length_is_smaller_the_validator_should_fail
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
✅ FluentValidation.Tests.ExclusiveBetweenValidatorTests
:white_check_mark: To_and_from_properties_should_be_set
:white_check_mark: To_and_from_properties_should_be_set_for_dates
:white_check_mark: To_and_from_properties_should_be_set_for_strings
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: When_the_text_is_larger_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings
:white_check_mark: When_the_to_is_smaller_than_the_from_then_the_validator_should_throw
:white_check_mark: When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set_for_strings
:white_check_mark: When_the_value_is_between_the_range_specified_then_the_validator_should_pass
:white_check_mark: When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings
:white_check_mark: When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail
:white_check_mark: When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail_for_strings
:white_check_mark: When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail
:white_check_mark: When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail_for_strings
:white_check_mark: When_the_value_is_smaller_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings
✅ FluentValidation.Tests.ExtensionTester
:white_check_mark: Should_extract_member_from_member_expression
:white_check_mark: Should_return_null_for_non_member_expressions
:white_check_mark: Should_split_pascal_cased_member_name
:white_check_mark: SplitPascalCase_should_return_null_when_input_is_null
✅ FluentValidation.Tests.ForEachRuleTests
:white_check_mark: Async_condition_should_work_with_child_collection
:white_check_mark: Can_access_colletion_index
:white_check_mark: Can_access_colletion_index_async
:white_check_mark: Can_access_parent_index
:white_check_mark: Can_access_parent_index_async
:white_check_mark: Can_specify_condition_for_individual_collection_elements
:white_check_mark: Can_use_cascade_with_RuleForEach
:white_check_mark: Can_validate_collection_using_validator_for_base_type
:white_check_mark: Collection_should_be_excluded
:white_check_mark: Collection_should_be_explicitly_included_with_expression
:white_check_mark: Collection_should_be_explicitly_included_with_string
:white_check_mark: Condition_should_work_with_child_collection
:white_check_mark: Correctly_gets_collection_indices
:white_check_mark: Correctly_gets_collection_indices_async
:white_check_mark: Executes_rule_for_each_item_in_collection
:white_check_mark: Executes_rule_for_each_item_in_collection_async
:white_check_mark: Nested_collection_for_null_property_should_not_throw_null_reference
:white_check_mark: Nested_conditions_Rule_For
:white_check_mark: Nested_conditions_Rule_For_Each
:white_check_mark: Overrides_indexer
:white_check_mark: Overrides_indexer_async
:white_check_mark: Regular_rules_can_drop_into_RuleForEach
:white_check_mark: RuleForEach_async_RunsTasksSynchronously
:white_check_mark: Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep
:white_check_mark: Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep_with_ValidateAsync
:white_check_mark: Should_override_property_name
:white_check_mark: Skips_null_items
:white_check_mark: Top_level_collection
:white_check_mark: Uses_useful_error_message_when_used_on_non_property
:white_check_mark: Validates_child_validator_asynchronously
:white_check_mark: Validates_child_validator_synchronously
:white_check_mark: Validates_collection
:white_check_mark: When_runs_outside_RuleForEach_loop
:white_check_mark: When_runs_outside_RuleForEach_loop_async
✅ FluentValidation.Tests.GreaterThanOrEqualToValidatorTester
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Comparison_type
:white_check_mark: Should_fail_when_less_than_input
:white_check_mark: Should_localize_value
:white_check_mark: Should_set_default_error_when_validation_fails
:white_check_mark: Should_succeed_when_equal_to_input
:white_check_mark: Should_succeed_when_greater_than_input
:white_check_mark: Validates_nullable_with_nullable_property
:white_check_mark: Validates_with_nullable_property
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_is_null_cross_property
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: Validates_with_nullable_when_property_not_null_cross_property
:white_check_mark: Validates_with_property
✅ FluentValidation.Tests.GreaterThanValidatorTester
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Comparison_Type
:white_check_mark: Should_fail_when_equal_to_input
:white_check_mark: Should_fail_when_less_than_input
:white_check_mark: Should_set_default_error_when_validation_fails
:white_check_mark: Should_succeed_when_greater_than_input
:white_check_mark: Validates_nullable_with_nullable_property
:white_check_mark: Validates_with_nullable_property
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_is_null_cross_property
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: Validates_with_nullable_when_property_not_null_cross_property
:white_check_mark: Validates_with_property
✅ FluentValidation.Tests.InclusiveBetweenValidatorTests
:white_check_mark: To_and_from_properties_should_be_set
:white_check_mark: To_and_from_properties_should_be_set_for_strings
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: When_the_text_is_larger_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings
:white_check_mark: When_the_to_is_smaller_than_the_from_then_the_validator_should_throw
:white_check_mark: When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set_for_strings
:white_check_mark: When_the_value_is_between_the_range_specified_then_the_validator_should_pass
:white_check_mark: When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings
:white_check_mark: When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass
:white_check_mark: When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass_for_strings
:white_check_mark: When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass
:white_check_mark: When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass_for_strings
:white_check_mark: When_the_value_is_smaller_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings
✅ FluentValidation.Tests.InheritanceValidatorTest
:white_check_mark: Can_use_custom_subclass_with_nongeneric_overload
:white_check_mark: Validates_collection
:white_check_mark: Validates_collection_async
:white_check_mark: Validates_inheritance_async
:white_check_mark: Validates_inheritance_hierarchy
:white_check_mark: Validates_ruleset
:white_check_mark: Validates_ruleset_async
:white_check_mark: Validates_with_callback
:white_check_mark: Validates_with_callback_accepting_derived
:white_check_mark: Validates_with_callback_accepting_derived_async
:white_check_mark: Validates_with_callback_async
✅ FluentValidation.Tests.InlineValidatorTester
:white_check_mark: Uses_inline_validator_to_build_rules
✅ FluentValidation.Tests.LanguageManagerTests
:white_check_mark: All_languages_should_be_loaded
:white_check_mark: All_localizations_have_same_parameters_as_English
:white_check_mark: Always_use_specific_language
:white_check_mark: Always_use_specific_language_with_string_source
:white_check_mark: Can_replace_message
:white_check_mark: Can_replace_message_without_overriding_all_languages
:white_check_mark: Disables_localization
:white_check_mark: Falls_back_to_default_localization_key_when_error_code_key_not_found
:white_check_mark: Falls_back_to_english_when_culture_not_registered
:white_check_mark: Falls_back_to_english_when_translation_missing
:white_check_mark: Falls_back_to_parent_culture
:white_check_mark: Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn-BA")
:white_check_mark: Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn")
:white_check_mark: Gets_translation_for_bosnian_latin_culture(cultureName: "bs")
:white_check_mark: Gets_translation_for_croatian_culture
:white_check_mark: Gets_translation_for_culture
:white_check_mark: Gets_translation_for_serbian_culture(cultureName: "sr-Latn-RS")
:white_check_mark: Gets_translation_for_serbian_culture(cultureName: "sr-Latn")
:white_check_mark: Gets_translation_for_serbian_culture(cultureName: "sr")
:white_check_mark: Gets_translation_for_specific_culture
:white_check_mark: Uses_error_code_as_localization_key
✅ FluentValidation.Tests.LengthValidatorTests
:white_check_mark: Min_and_max_properties_should_be_set
:white_check_mark: When_input_is_null_then_the_validator_should_pass
:white_check_mark: When_the_max_is_smaller_than_the_min_then_the_validator_should_throw
:white_check_mark: When_the_maxlength_validator_fails_the_error_message_should_be_set
:white_check_mark: When_the_minlength_validator_fails_the_error_message_should_be_set
:white_check_mark: When_the_text_is_between_the_lambda_range_specified_then_the_validator_should_pass
:white_check_mark: When_the_text_is_between_the_range_specified_then_the_validator_should_pass
:white_check_mark: When_the_text_is_exactly_the_size_of_the_lambda_lower_bound_then_the_validator_should_pass
:white_check_mark: When_the_text_is_exactly_the_size_of_the_lambda_upper_bound_then_the_validator_should_pass
:white_check_mark: When_the_text_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass
:white_check_mark: When_the_text_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass
:white_check_mark: When_the_text_is_larger_than_the_lambda_range_then_the_validator_should_fail
:white_check_mark: When_the_text_is_larger_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_text_is_smaller_than_the_lambda_range_then_the_validator_should_fail
:white_check_mark: When_the_text_is_smaller_than_the_range_then_the_validator_should_fail
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
✅ FluentValidation.Tests.LessThanOrEqualToValidatorTester
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Comparison_type
:white_check_mark: Should_fail_when_greater_than_input
:white_check_mark: Should_set_default_error_when_validation_fails
:white_check_mark: Should_succeed_when_equal_to_input
:white_check_mark: Should_succeed_when_less_than_input
:white_check_mark: Validates_nullable_with_nullable_property
:white_check_mark: Validates_with_nullable_property
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_is_null_cross_property
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: Validates_with_nullable_when_property_not_null_cross_property
:white_check_mark: Validates_with_property
✅ FluentValidation.Tests.LessThanValidatorTester
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Comparison_type
:white_check_mark: Extracts_property_from_constant_using_expression
:white_check_mark: Extracts_property_from_expression
:white_check_mark: Should_fail_when_equal_to_input
:white_check_mark: Should_fail_when_greater_than_input
:white_check_mark: Should_set_default_validation_message_when_validation_fails
:white_check_mark: Should_succeed_when_less_than_input
:white_check_mark: Should_throw_when_value_to_compare_is_null
:white_check_mark: Validates_against_property
:white_check_mark: Validates_nullable_with_nullable_property
:white_check_mark: Validates_with_nullable_property
:white_check_mark: Validates_with_nullable_when_property_is_null
:white_check_mark: Validates_with_nullable_when_property_not_null
:white_check_mark: Validates_with_nullable_when_property_not_null_cross_property
:white_check_mark: Validates_with_nullable_when_property_null_cross_property
✅ FluentValidation.Tests.LocalisedMessagesTester
:white_check_mark: Correctly_assigns_default_localized_error_message
:white_check_mark: Does_not_throw_InvalidCastException_when_using_RuleForEach
:white_check_mark: Formats_string_with_placeholders
:white_check_mark: Formats_string_with_placeholders_when_you_cant_edit_the_string
:white_check_mark: Uses_func_to_get_message
:white_check_mark: Uses_string_format_with_property_value
✅ FluentValidation.Tests.LocalisedNameTester
:white_check_mark: Uses_localized_name
:white_check_mark: Uses_localized_name_expression
✅ FluentValidation.Tests.MemberAccessorTests
:white_check_mark: ComplexPropertyGet
:white_check_mark: ComplexPropertySet
:white_check_mark: Equality
:white_check_mark: ImplicitCast
:white_check_mark: Name
:white_check_mark: SimpleFieldGet
:white_check_mark: SimpleFieldSet
:white_check_mark: SimplePropertyGet
:white_check_mark: SimplePropertySet
✅ FluentValidation.Tests.MessageFormatterTests
:white_check_mark: Adds_argument_and_custom_arguments
:white_check_mark: Adds_formatted_argument_and_custom_arguments
:white_check_mark: Adds_formatted_argument_and_formatted_custom_arguments
:white_check_mark: Adds_PropertyName_to_message
:white_check_mark: Adds_value_to_message
:white_check_mark: Format_property_value
:white_check_mark: Should_ignore_unknown_numbered_parameters
:white_check_mark: Should_ignore_unknown_parameters
:white_check_mark: Understands_date_formats
:white_check_mark: Understands_numeric_formats
✅ FluentValidation.Tests.ModelLevelValidatorTests
:white_check_mark: Can_use_child_validator_at_model_level
:white_check_mark: Validates_at_model_level
✅ FluentValidation.Tests.NameResolutionPluggabilityTester
:white_check_mark: Resolves_nested_properties
:white_check_mark: ShouldHaveValidationError_Should_support_custom_propertynameresolver
:white_check_mark: Uses_custom_property_name
✅ FluentValidation.Tests.NotEmptyTester
:white_check_mark: Fails_for_array
:white_check_mark: Fails_for_ienumerable_that_doesnt_implement_ICollection
:white_check_mark: Fails_when_collection_empty
:white_check_mark: When_there_is_a_value_then_the_validator_should_pass
:white_check_mark: When_validation_fails_error_should_be_set
:white_check_mark: When_value_is_Default_for_type_validator_should_fail_datetime
:white_check_mark: When_value_is_Default_for_type_validator_should_fail_int
:white_check_mark: When_value_is_empty_string_validator_should_fail
:white_check_mark: When_value_is_null_validator_should_fail
:white_check_mark: When_value_is_whitespace_validation_should_fail
✅ FluentValidation.Tests.NotEqualValidatorTests
:white_check_mark: Comparison_property_uses_custom_resolver
:white_check_mark: Should_handle_custom_value_types_correctly
:white_check_mark: Should_not_be_valid_for_case_insensitve_comparison
:white_check_mark: Should_not_be_valid_for_case_insensitve_comparison_with_expression
:white_check_mark: Should_store_comparison_type
:white_check_mark: Should_store_property_to_compare
:white_check_mark: Should_use_ordinal_comparison_by_default
:white_check_mark: Validates_across_properties
:white_check_mark: When_the_objects_are_equal_then_the_validator_should_fail
:white_check_mark: When_the_objects_are_not_equal_then_the_validator_should_pass
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
✅ FluentValidation.Tests.NotNullTester
:white_check_mark: Fails_when_nullable_value_type_is_null
:white_check_mark: Not_null_validator_should_not_crash_with_non_nullable_value_type
:white_check_mark: NotNullValidator_should_fail_if_value_is_null
:white_check_mark: NotNullValidator_should_pass_if_value_has_value
:white_check_mark: When_the_validator_fails_the_error_message_should_be_set
✅ FluentValidation.Tests.NullTester
:white_check_mark: Not_null_validator_should_not_crash_with_non_nullable_value_type
:white_check_mark: NullValidator_should_fail_if_value_has_value
:white_check_mark: NullValidator_should_pass_if_value_is_null
:white_check_mark: Passes_when_nullable_value_type_is_null
:white_check_mark: When_the_validator_passes_the_error_message_should_be_set
✅ FluentValidation.Tests.OnFailureTests
:white_check_mark: OnFailure_called_for_each_failed_rule
:white_check_mark: OnFailure_called_for_each_failed_rule_asyncAsync
:white_check_mark: Should_be_able_to_access_error_message_in_OnFailure
:white_check_mark: ShouldHaveChildValidator_should_be_true
:white_check_mark: ShouldHaveChildValidator_works_with_Include
:white_check_mark: WhenAsyncWithOnFailure_should_invoke_condition_on_async_inner_validator
:white_check_mark: WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator
:white_check_mark: WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator_invoked_synchronously
:white_check_mark: WhenWithOnFailure_should_invoke_condition_on_async_inner_validator
:white_check_mark: WhenWithOnFailure_should_invoke_condition_on_inner_validator
✅ FluentValidation.Tests.PredicateValidatorTester
:white_check_mark: Should_fail_when_predicate_returns_false
:white_check_mark: Should_succeed_when_predicate_returns_true
:white_check_mark: Should_throw_when_predicate_is_null
:white_check_mark: When_validation_fails_metadata_should_be_set_on_failure
:white_check_mark: When_validation_fails_the_default_error_should_be_set
✅ FluentValidation.Tests.PropertyChainTests
:white_check_mark: AddIndexer_throws_when_nothing_added
:white_check_mark: Calling_ToString_should_construct_string_representation_of_chain
:white_check_mark: Calling_ToString_should_construct_string_representation_of_chain_with_indexers
:white_check_mark: Creates_from_expression
:white_check_mark: Should_be_subchain
:white_check_mark: Should_ignore_blanks
:white_check_mark: Should_not_be_subchain
✅ FluentValidation.Tests.RegularExpressionValidatorTests
:white_check_mark: Can_access_expression_in_message
:white_check_mark: Can_access_expression_in_message_lambda
:white_check_mark: Can_access_expression_in_message_lambda_regex
:white_check_mark: Uses_lazily_loaded_expression
:white_check_mark: Uses_lazily_loaded_expression_with_options
:white_check_mark: Uses_regex_object
:white_check_mark: When_the_text_does_not_match_the_lambda_regex_regular_expression_then_the_validator_should_fail
:white_check_mark: When_the_text_does_not_match_the_lambda_regular_expression_then_the_validator_should_fail
:white_check_mark: When_the_text_does_not_match_the_regular_expression_then_the_validator_should_fail
:white_check_mark: When_the_text_is_empty_then_the_validator_should_fail
:white_check_mark: When_the_text_is_null_then_the_validator_should_pass
:white_check_mark: When_the_text_matches_the_lambda_regex_regular_expression_then_the_validator_should_pass
:white_check_mark: When_the_text_matches_the_lambda_regular_expression_then_the_validator_should_pass
:white_check_mark: When_the_text_matches_the_regular_expression_then_the_validator_should_pass
:white_check_mark: When_validation_fails_the_default_error_should_be_set
✅ FluentValidation.Tests.RuleBuilderTests
:white_check_mark: Adding_a_validator_should_return_builder
:white_check_mark: Adding_a_validator_should_store_validator
:white_check_mark: Calling_validate_should_delegate_to_underlying_validator
:white_check_mark: Calling_ValidateAsync_should_delegate_to_underlying_async_validator
:white_check_mark: Calling_ValidateAsync_should_delegate_to_underlying_sync_validator
:white_check_mark: Conditional_child_validator_should_register_with_validator_type_not_property
:white_check_mark: Nullable_object_with_async_condition_should_not_throw
:white_check_mark: Nullable_object_with_condition_should_not_throw
:white_check_mark: Property_should_return_null_when_it_is_not_a_property_being_validated
:white_check_mark: Property_should_return_property_being_validated
:white_check_mark: PropertyDescription_should_return_custom_property_name
:white_check_mark: PropertyDescription_should_return_property_name_split
:white_check_mark: Result_should_use_custom_property_name_when_no_property_name_can_be_determined
:white_check_mark: Rule_for_a_non_memberexpression_should_not_generate_property_name
:white_check_mark: Should_build_property_name
:white_check_mark: Should_compile_expression
:white_check_mark: Should_set_custom_error
:white_check_mark: Should_set_custom_property_name
:white_check_mark: Should_throw_if_message_is_null
:white_check_mark: Should_throw_if_overriding_validator_is_null
:white_check_mark: Should_throw_if_overriding_validator_provider_is_null
:white_check_mark: Should_throw_if_property_name_is_null
:white_check_mark: Should_throw_if_validator_is_null
:white_check_mark: Should_throw_when_async_inverse_predicate_is_null
:white_check_mark: Should_throw_when_async_predicate_is_null
:white_check_mark: Should_throw_when_context_predicate_is_null
:white_check_mark: Should_throw_when_inverse_context_predicate_is_null
:white_check_mark: Should_throw_when_inverse_predicate_is_null
:white_check_mark: Should_throw_when_predicate_is_null
✅ FluentValidation.Tests.RuleDependencyTests
:white_check_mark: Async_inside_dependent_rules
:white_check_mark: Async_inside_dependent_rules_when_parent_rule_not_async
:white_check_mark: Dependent_rules_inside_ruleset
:white_check_mark: Dependent_rules_inside_when
:white_check_mark: Does_not_invoke_dependent_rule_if_parent_rule_does_not_pass
:white_check_mark: Invokes_dependent_rule_if_parent_rule_passes
:white_check_mark: Nested_dependent_rules
:white_check_mark: Nested_dependent_rules_inside_ruleset
:white_check_mark: Nested_dependent_rules_inside_ruleset_inside_method
:white_check_mark: Nested_dependent_rules_inside_ruleset_no_result_when_second_level_fails
:white_check_mark: Nested_dependent_rules_inside_ruleset_no_result_when_top_level_fails
:white_check_mark: TestAsyncWithDependentRules_AsyncEntry
:white_check_mark: TestAsyncWithDependentRules_SyncEntry
:white_check_mark: Treats_root_level_RuleFor_call_as_dependent_rule_if_user_forgets_to_use_DependentRulesBuilder
✅ FluentValidation.Tests.RulesetTests
:white_check_mark: Applies_multiple_rulesets_to_rule
:white_check_mark: Combines_rulesets_and_explicit_properties
:white_check_mark: Combines_rulesets_and_explicit_properties_async
:white_check_mark: Executes_all_rules
:white_check_mark: Executes_in_rule_in_default_and_none
:white_check_mark: Executes_in_rule_in_ruleset_and_default
:white_check_mark: Executes_multiple_rulesets
:white_check_mark: Executes_rules_in_default_ruleset_and_specific_ruleset
:white_check_mark: Executes_rules_in_specified_ruleset
:white_check_mark: Executes_rules_not_specified_in_ruleset
:white_check_mark: Includes_all_rulesets
:white_check_mark: Includes_all_rulesets_async
:white_check_mark: Includes_combination_of_rulesets
:white_check_mark: Includes_combination_of_rulesets_async
:white_check_mark: Ruleset_cascades_to_child_collection_validator
:white_check_mark: Ruleset_cascades_to_child_validator
:white_check_mark: Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement
:white_check_mark: Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement_with_lambda
:white_check_mark: Ruleset_selection_should_not_cascade_downwards_when_set_on_property
:white_check_mark: Trims_spaces
:white_check_mark: WithMessage_works_inside_rulesets
✅ FluentValidation.Tests.ScalePrecisionValidatorTests
:white_check_mark: Scale_precision_should_be_valid
:white_check_mark: Scale_precision_should_be_valid_when_ignoring_trailing_zeroes
:white_check_mark: Scale_precision_should_be_valid_when_they_are_equal
:white_check_mark: Scale_precision_should_not_be_valid
:white_check_mark: Scale_precision_should_not_be_valid_when_ignoring_trailing_zeroes
:white_check_mark: Scale_precision_should_not_be_valid_when_they_are_equal
✅ FluentValidation.Tests.SharedConditionTests
:white_check_mark: Async_condition_can_be_used_inside_ruleset
:white_check_mark: Condition_can_be_used_inside_ruleset
:white_check_mark: Does_not_execute_custom_Rule_when_async_condition_false
:white_check_mark: Does_not_execute_custom_Rule_when_condition_false
:white_check_mark: Does_not_execute_customasync_Rule_when_async_condition_false
:white_check_mark: Does_not_execute_customasync_Rule_when_condition_false
:white_check_mark: Doesnt_throw_NullReferenceException_when_instance_not_null
:white_check_mark: Doesnt_throw_NullReferenceException_when_instance_not_null_async
:white_check_mark: Executes_custom_rule_when_async_condition_true
:white_check_mark: Executes_custom_rule_when_condition_true
:white_check_mark: Executes_customasync_rule_when_async_condition_true
:white_check_mark: Executes_customasync_rule_when_condition_true
:white_check_mark: Nested_async_conditions_with_Custom_rule
:white_check_mark: Nested_async_conditions_with_CustomAsync_rule
:white_check_mark: Nested_conditions_with_Custom_rule
:white_check_mark: Nested_conditions_with_CustomAsync_rule
:white_check_mark: Outer_async_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied
:white_check_mark: Outer_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied
:white_check_mark: Rules_invoke_when_inverse_shared_async_condition_matches
:white_check_mark: Rules_invoke_when_inverse_shared_condition_matches
:white_check_mark: Rules_not_invoked_when_inverse_shared_async_condition_does_not_match
:white_check_mark: Rules_not_invoked_when_inverse_shared_condition_does_not_match
:white_check_mark: RuleSet_can_be_used_inside_async_condition
:white_check_mark: RuleSet_can_be_used_inside_condition
:white_check_mark: Runs_otherwise_conditions_for_UnlessAsync
:white_check_mark: Runs_otherwise_conditions_for_When
:white_check_mark: Runs_otherwise_conditions_for_WhenAsync
:white_check_mark: Runs_otherwise_conditons_for_Unless
:white_check_mark: Shared_async_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied
:white_check_mark: Shared_async_When_is_applied_to_grouped_rules_when_initial_predicate_is_true
:white_check_mark: Shared_async_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false
:white_check_mark: Shared_async_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails
:white_check_mark: Shared_async_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied
:white_check_mark: Shared_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied
:white_check_mark: Shared_When_is_applied_to_grouped_rules_when_initial_predicate_is_true
:white_check_mark: Shared_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false
:white_check_mark: Shared_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails
:white_check_mark: Shared_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied
:white_check_mark: When_async_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached
:white_check_mark: When_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached
:white_check_mark: When_condition_only_executed_once
:white_check_mark: WhenAsync_condition_only_executed_once
✅ FluentValidation.Tests.StandalonePropertyValidationTester
:white_check_mark: Should_validate_property_value_without_instance
✅ FluentValidation.Tests.StringEnumValidatorTests
:white_check_mark: IsValidTests_CaseInsensitive_CaseCorrect
:white_check_mark: IsValidTests_CaseInsensitive_CaseIncorrect
:white_check_mark: IsValidTests_CaseSensitive_CaseCorrect
:white_check_mark: IsValidTests_CaseSensitive_CaseIncorrect
:white_check_mark: When_enumType_is_not_an_enum_it_should_throw
:white_check_mark: When_enumType_is_null_it_should_throw
:white_check_mark: When_the_property_is_initialized_with_empty_string_then_the_validator_should_fail
:white_check_mark: When_the_property_is_initialized_with_invalid_string_then_the_validator_should_fail
:white_check_mark: When_the_property_is_initialized_with_null_then_the_validator_should_be_valid
:white_check_mark: When_validation_fails_the_default_error_should_be_set
✅ FluentValidation.Tests.TrackingCollectionTests
:white_check_mark: Add_AddsItem
:white_check_mark: Should_not_raise_event_once_handler_detached
:white_check_mark: When_Item_Added_Raises_ItemAdded
✅ FluentValidation.Tests.TransformTests
:white_check_mark: Transforms_collection_element
:white_check_mark: Transforms_collection_element_async
:white_check_mark: Transforms_property_value
:white_check_mark: Transforms_property_value_to_another_type
✅ FluentValidation.Tests.UserSeverityTester
:white_check_mark: Can_Provide_conditional_severity
:white_check_mark: Can_Provide_severity_for_item_in_collection
:white_check_mark: Correctly_provides_object_being_validated
:white_check_mark: Defaults_user_severity_to_error
:white_check_mark: Should_use_last_supplied_severity
:white_check_mark: Stores_user_severity_against_validation_failure
:white_check_mark: Throws_when_provider_is_null
✅ FluentValidation.Tests.UserStateTester
:white_check_mark: Can_Provide_state_for_item_in_collection
:white_check_mark: Correctly_provides_object_being_validated
:white_check_mark: Stores_user_state_against_validation_failure
:white_check_mark: Throws_when_provider_is_null
✅ FluentValidation.Tests.ValidateAndThrowTester
:white_check_mark: Does_not_throw_when_valid
:white_check_mark: Does_not_throw_when_valid_and_a_ruleset
:white_check_mark: Does_not_throw_when_valid_and_a_ruleset_async
:white_check_mark: Does_not_throw_when_valid_async
:white_check_mark: Only_root_validator_throws
:white_check_mark: Populates_errors
:white_check_mark: Serializes_exception
:white_check_mark: Throws_exception
:white_check_mark: Throws_exception_async
:white_check_mark: Throws_exception_with_a_ruleset
:white_check_mark: Throws_exception_with_a_ruleset_async
:white_check_mark: ToString_provides_error_details
:white_check_mark: ValidationException_provides_correct_message_when_appendDefaultMessage_false
:white_check_mark: ValidationException_provides_correct_message_when_appendDefaultMessage_true
✅ FluentValidation.Tests.ValidationResultTests
:white_check_mark: Can_serialize_failure
:white_check_mark: Can_serialize_result
:white_check_mark: Should_add_errors
:white_check_mark: Should_be_valid_when_there_are_no_errors
:white_check_mark: Should_not_be_valid_when_there_are_errors
:white_check_mark: ToString_return_empty_string_when_there_is_no_error
:white_check_mark: ToString_return_error_messages_with_given_separator
:white_check_mark: ToString_return_error_messages_with_newline_as_separator
✅ FluentValidation.Tests.ValidatorDescriptorTester
:white_check_mark: Does_not_throw_when_rule_declared_without_property
:white_check_mark: Gets_validators_for_property
:white_check_mark: GetValidatorsForMember_and_GetRulesForMember_can_both_retrieve_for_model_level_rule
:white_check_mark: Returns_empty_collection_for_property_with_no_validators
:white_check_mark: Should_retrieve_name_given_to_it_pass_property_as_string
✅ FluentValidation.Tests.ValidatorSelectorTests
:white_check_mark: Can_use_property_with_include
:white_check_mark: Does_not_validate_other_property
:white_check_mark: Does_not_validate_other_property_using_expression
:white_check_mark: Executes_correct_rule_when_using_property_with_include
:white_check_mark: Executes_correct_rule_when_using_property_with_include_async
:white_check_mark: Includes_nested_property
:white_check_mark: Includes_nested_property_using_expression
:white_check_mark: MemberNameValidatorSelector_returns_true_when_property_name_matches
:white_check_mark: Validates_nullable_property_with_overriden_name_when_selected
:white_check_mark: Validates_property_using_expression
✅ FluentValidation.Tests.ValidatorTesterTester
:white_check_mark: Allows_only_one_failure_to_match
:white_check_mark: Can_use_indexer_in_string_message
:white_check_mark: Can_use_indexer_in_string_message_inverse
:white_check_mark: Expected_error_code_check
:white_check_mark: Expected_message_argument_check
:white_check_mark: Expected_message_check
:white_check_mark: Expected_severity_check
:white_check_mark: Expected_state_check
:white_check_mark: Matches_any_failure
:white_check_mark: Matches_model_level_rule
:white_check_mark: Model_level_check_fails_if_no_model_level_failures
:white_check_mark: ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator
:white_check_mark: ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator_and_expecting_a_basetype
:white_check_mark: ShouldHaveChildValidator_should_not_throw_when_property_has_collection_validators
:white_check_mark: ShouldHaveChildValidator_should_throw_when_property_has_a_different_child_validator
:white_check_mark: ShouldHaveChildValidator_should_work_with_DependentRules
:white_check_mark: ShouldHaveChildvalidator_throws_when_collection_property_Does_not_have_child_validator
:white_check_mark: ShouldHaveChildValidator_throws_when_property_does_not_have_child_validator
:white_check_mark: ShouldHaveChildValidator_works_on_model_level_rules
:white_check_mark: ShouldHaveValidationError_async
:white_check_mark: ShouldHaveValidationError_async_throws
:white_check_mark: ShouldHaveValidationError_model_async
:white_check_mark: ShouldHaveValidationError_model_async_throws
:white_check_mark: ShouldHaveValidationError_preconstructed_object_does_not_throw_for_unwritable_property
:white_check_mark: ShouldHaveValidationError_should_not_throw_when_there_are_errors_with_preconstructed_object
:white_check_mark: ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors
:white_check_mark: ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "")
:white_check_mark: ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null)
:white_check_mark: ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors_ruleforeach
:white_check_mark: ShouldHaveValidationError_Should_support_nested_properties
:white_check_mark: ShouldHaveValidationError_Should_throw_when_there_are_no_validation_errors
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_no_validation_errors_with_preconstructed_object
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "")
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "cardNumber")
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: null)
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 42, cardNumber: "cardNumber")
:white_check_mark: ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors_ruleforeach
:white_check_mark: ShouldHaveValidationError_with_an_unmatched_rule_and_a_single_error_should_throw_an_exception
:white_check_mark: ShouldHaveValidationError_with_an_unmatched_rule_and_multiple_errors_should_throw_an_exception
:white_check_mark: ShouldHaveValidationErrorFor_takes_account_of_rulesets
:white_check_mark: ShouldHaveValidationErrorFor_takes_account_of_rulesets_fluent_approach
:white_check_mark: ShouldNotHaveValidationError_async
:white_check_mark: ShouldNotHaveValidationError_async_model_throws
:white_check_mark: ShouldNotHaveValidationError_async_throws
:white_check_mark: ShouldNotHaveValidationError_model_async
:white_check_mark: ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate
:white_check_mark: ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate_and_other_property_fails_validation
:white_check_mark: ShouldNotHaveValidationError_should_have_validation_error_details_when_thrown_ruleforeach
:white_check_mark: ShouldNotHaveValidationError_should_not_throw_when_there_are_no_errors
:white_check_mark: ShouldNotHAveValidationError_should_not_throw_When_there_are_no_errors_with_preconstructed_object
:white_check_mark: ShouldNotHaveValidationError_should_not_throw_when_there_are_not_validation_errors_ruleforeach
:white_check_mark: ShouldNotHaveValidationError_Should_support_nested_properties
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_errors
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_errors_with_preconstructed_object
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "")
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "cardNumber")
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: null)
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "cardNumber")
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "")
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null)
:white_check_mark: ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors_ruleforeach
:white_check_mark: Tests_nested_property
:white_check_mark: Tests_nested_property_reverse
:white_check_mark: Tests_nested_property_using_obsolete_method
:white_check_mark: TestValidate_runs_async
:white_check_mark: TestValidate_runs_async_throws
:white_check_mark: Unexpected_error_code_check
:white_check_mark: Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["bar"])
:white_check_mark: Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo", "bar"])
:white_check_mark: Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo"])
:white_check_mark: Unexpected_message_check(withoutErrMsg: "bar", errMessages: [])
:white_check_mark: Unexpected_severity_check
:white_check_mark: Unexpected_state_check