-
-
Notifications
You must be signed in to change notification settings - Fork 96
Simplify Assertion API #3324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Simplify Assertion API #3324
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…tion messages - Introduced IsDefaultAssertion to check if a value is equal to its default value. - Enhanced StringContainsAssertion with options for trimming and ignoring whitespace. - Added StringIsNullOrEmptyAssertion and StringIsNotNullOrEmptyAssertion for null/empty checks. - Updated StringEqualsAssertion to support trimming, null/empty equality, and whitespace ignoring. - Enhanced ThrowsAssertion and ThrowsExactlyAssertion to check for parameter names in ArgumentExceptions. - Added ExceptionMessageAssertion to assert that exception messages contain specific substrings. - Introduced MemberAssertion to allow assertions on object members via lambda expressions. - Added IsAssignableToAssertion and IsNotAssignableToAssertion for type assignability checks. - Updated Assert class with new methods for async exception assertions and default value checks.
…etter type inference and usability
- Introduced ParseAssertionTests for validating string parsing into various types including int, double, Guid, DateTime, and bool with format provider support. - Added Tests for handling ClassDataSource with proper disposal checks in Bugs/2067. - Created CultureInfoAssertionTests to validate different culture info assertions. - Implemented custom assertions for ProblemDetails with deserialization checks and validation of properties. - Added EncodingAssertionTests to validate different encoding types. - Created EnumerableDataSourceDrivenTests to test data-driven methods with various data sources. - Implemented ExpectedArgumentTypeTests to validate expected argument types for various data types and enums. - Added FileSystemAssertionTests to validate file and directory existence and properties. - Created HttpStatusCodeAssertionTests to validate HTTP status codes. - Implemented OtherAssertionTests for various assertions including exception checks and string builder properties. - Added OverrideResultsTests to validate test result overriding functionality. - Created ServiceProviderInfrastructureTests to validate service provider registration and resolution. - Implemented TestExtensionsTests to validate class type name retrieval for top-level and nested classes.
- Implemented assertions for HttpStatusCode, including success, client error, server error, redirection, informational, and error status codes. - Added miscellaneous assertions for Exception handling, StringBuilder, DayOfWeek, and WeakReference. - Created extension methods for assertions related to CultureInfo, Encoding, and FileSystem. - Introduced custom assertions for ProblemDetails with deserialization support from HttpResponseMessage. - Developed unit tests for the new assertions and extensions to ensure functionality and correctness.
This was referenced Nov 4, 2025
This was referenced Nov 12, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.