Conversation
…clarity and consistency - Updated `contain`, `endWith`, `equal`, `greaterOrEqualTo`, `greaterThan`, `lessOrEqualTo`, `lessThan`, `startWith`, and `throwable` operations to replace message handling with result object usage. - Enhanced result reporting by adding expected, actual, and negated values directly to the result object. - Removed unnecessary exception handling in result creation, simplifying the code structure. - Adjusted unit tests to reflect changes in expected output formatting for assertions.
- Deleted various test files related to string operations, type checks, and unit tests that are no longer needed. - Removed associated test scripts and configuration files for unit testing. - Added new test data files for class and value assertions to improve test coverage.
…es for assertions
- Created introduction.mdx to provide an overview and quick start guide for fluent-asserts. - Added philosophy.mdx outlining the 4 Rules of Simple Design and the rationale behind fluent-asserts. - Updated index.mdx to highlight the benefits of using fluent-asserts with examples. - Introduced custom CSS styles for documentation to enhance readability and aesthetics. - Added TypeScript configuration for improved type checking in documentation. - Updated dub.json to reflect the new copyright year. - Enhanced the Assert struct with new methods for exception handling, memory allocation checks, and string assertions. - Added unit tests for new Assert methods to ensure functionality.
…ify tracking methods and platform limitations
…roved memory management and safety
- Added `source/fluentasserts/results/source/package.d` for source code analysis and token parsing. - Introduced `SourceResult` struct for managing source file paths and line numbers, with lazy token loading. - Created `pathcleaner.d` to handle cleaning of mixin-generated file paths. - Developed `result.d` to extract and format source code context for assertion failures. - Implemented `scopes.d` for scope analysis to find code boundaries in token streams. - Added `tokens.d` for token parsing and manipulation functions, including utility functions for token extraction and representation. - Included comprehensive unit tests for all new functionalities to ensure correctness and reliability.
- Introduced a new module `fluentasserts.core.conversion.types` to encapsulate result types for numeric parsing operations, including `ParsedResult`, `SignResult`, `DigitsResult`, and `FractionResult`. - Updated imports across various modules to reference the new `conversion` module instead of the deprecated `toNumeric` module. - Removed the old `toNumeric` module, consolidating its functionality into the new structure. - Adjusted related comparison operations to utilize the new import paths for numeric conversion. - Ensured all references to heap string conversions are updated to the new `conversion` module.
- Implement `arrayContain` to assert that an array contains specified elements, with detailed error reporting for missing values. - Implement `arrayContainOnly` to assert that an array contains only the specified elements, with error reporting for extra and missing values. - Refactor common message handling into `containmessages.d` for better code organization and reuse. - Introduce `stringprocessing.d` for string manipulation utilities, including special character replacement and list parsing. - Update existing string assertion modules to utilize new utilities and improve clarity. - Add comprehensive unit tests for new functionalities and ensure existing tests remain intact.
- Added `normalizeSnapshot` function to remove unstable elements from snapshot output, such as line numbers and object addresses. - Improved unittest coverage for various assertion operations, including equality checks for scalars, strings, arrays, and multiline strings with line and character changes. - Introduced a new function `generateSnapshotContent` to create a comprehensive snapshot documentation for all assertion operations, including both positive and negated failure variants. - Updated existing tests to utilize the new snapshot generation functionality and ensure consistency in output. - Added functionality to verify that the generated snapshot documentation matches the current output, ensuring accuracy and reliability.
- Added FluentAssertsConfig module to centralize configuration settings. - Updated FixedArray and related aliases to use configurable sizes from the new config. - Enhanced numeric conversion settings to use configurable buffer sizes and decimal places. - Modified evaluation output formatting to support multiple formats (verbose, compact, tap) based on configuration. - Updated various modules to utilize the new configuration settings for improved maintainability and flexibility. - Added unit tests to verify output formats and ensure correct behavior of the new configuration system.
… handling and add unit tests for Checked types in lessThan
…ts for double vs int equality
…prove assertion handling
…numeric comparison in equality checks
… add unittest for its behavior
…quality and containment behavior
… and add unittest for its behavior
…lTo for numeric types
…hould() and evaluate()
…on in withMessage.equal
- Refactor evaluation logic to use structs for better performance and memory management. - Transition from GC-based string serialization to HeapString for @nogc compatibility. - Update import paths for operations and serializers to reflect new module structure. - Enhance custom operation and serializer registration processes. - Introduce new features including centralized configuration, multiple output formats, and context data for assertions. - Improve assertion failure messages and statistics tracking. - Add migration guide for users upgrading from v1.x to v2.0.
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
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.