Skip to content

V2#105

Merged
gedaiu merged 99 commits intomasterfrom
v2
Dec 25, 2025
Merged

V2#105
gedaiu merged 99 commits intomasterfrom
v2

Conversation

@gedaiu
Copy link
Copy Markdown
Owner

@gedaiu gedaiu commented Dec 7, 2025

No description provided.

gedaiu added 30 commits December 1, 2025 09:31
…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.
- 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
…ods for improved safety and memory management
- 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
- 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.
@gedaiu gedaiu merged commit e4db1b6 into master Dec 25, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant