Skip to content

Commit 465939f

Browse files
committed
Further refinement
1 parent fdcc256 commit 465939f

File tree

1 file changed

+7
-21
lines changed

1 file changed

+7
-21
lines changed

README.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -150,17 +150,10 @@ public class SomeClassUsingFileSystemWatcher
150150
}
151151
```
152152

153-
## Related projects
154-
155-
- [`System.IO.Abstractions.Extensions`](https://github.com/TestableIO/System.IO.Abstractions.Extensions)
156-
provides convenience functionality on top of the core abstractions.
157-
158-
- [`System.IO.Abstractions.Analyzers`](https://github.com/TestableIO/System.IO.Abstractions.Analyzers)
159-
provides Roslyn analyzers to help use abstractions over static methods.
160-
161153
## Relationship with Testably.Abstractions
162154

163155
[`Testably.Abstractions`](https://github.com/Testably/Testably.Abstractions) is a complementary project that uses the same interfaces as TestableIO. This means **no changes to your production code are necessary** when switching between the testing libraries.
156+
Both projects share the same maintainer, but active development and new features are primarily focused on the Testably.Abstractions project. TestableIO.System.IO.Abstractions continues to be maintained for stability and compatibility, but significant new functionality is unlikely to be added.
164157

165158
### When to use Testably.Abstractions vs TestableIO
166159
- **Use TestableIO.System.IO.Abstractions** if you need:
@@ -175,6 +168,7 @@ public class SomeClassUsingFileSystemWatcher
175168
- More extensive and consistent behavior validation
176169
- Active development and new features
177170

171+
178172
### Migrating from TestableIO
179173
Switching from TestableIO to Testably only requires changes in your test projects:
180174

@@ -206,18 +200,10 @@ Switching from TestableIO to Testably only requires changes in your test project
206200

207201
Your production code using `IFileSystem` remains unchanged.
208202

209-
### Architectural Differences
210-
211-
The main architectural difference lies in how the mock file systems handle state:
203+
## Other related projects
212204

213-
- **TestableIO.System.IO.Abstractions** allows direct access to stored entities (`MockFileData` and `MockDirectoryData`), which can make maintaining consistent state challenging, especially for features like correct `LastAccessTime` and `LastWriteTime` updates.
214-
215-
- **Testably.Abstractions** uses a more restrictive approach that only allows manipulation through normal file system operations, enabling advanced scenarios like consistent time updates, FileSystemWatcher support, and multi-drive simulation.
216-
217-
### Testing and Compatibility
218-
219-
`Testably.Abstractions` features a more extensive test suite that runs against real file systems on Linux, Windows, and macOS. This ensures that tested scenarios work identically on both the mock and real file systems.
220-
221-
### Maintenance and Development
205+
- [`System.IO.Abstractions.Extensions`](https://github.com/TestableIO/System.IO.Abstractions.Extensions)
206+
provides convenience functionality on top of the core abstractions.
222207

223-
Both projects share the same maintainer, but active development and new features are primarily focused on the Testably.Abstractions project. TestableIO.System.IO.Abstractions continues to be maintained for stability and compatibility, but significant new functionality is unlikely to be added.
208+
- [`System.IO.Abstractions.Analyzers`](https://github.com/TestableIO/System.IO.Abstractions.Analyzers)
209+
provides Roslyn analyzers to help use abstractions over static methods.

0 commit comments

Comments
 (0)