Expand description
This crate provides a struct FileTextHandler that acts as a mockable layer over a file
system. It provides write and read operations that are required by the TextIOHandler
trait :
- method
write_textwrites String content to a file or file system simulator; - method
read_textreads String content from a file or file system simulator;
The Text in the names of the trait and structs mean that these entities are only meant to handle String content, as is evident from the signatures of the trait’s methods.
For unit tests - or for other applications - a mock MockTextHandler is available that also
implements the TextIOHandler trait, but doesn’t access any file system. It stores it texts in
a HashMap instead.
This means that MockTextHandler is more than a mere mock: with its internal persistence,
it can serve as an application component in its own right,
providing string storage in memory where file storage isn’t needed.
Structs§
- File
Text Handler - FileTextHandler provides string read and write operations to file system files. It has no internal persistence, as this is provided by the underlying file system. Even so, calling it’s write_text method still requires a FileTextHandler object to be declared as mutable, as the TextIOHandler trait imposes this so as to enable mocks to use internal persistence to write to their encapsulated state.
- Mock
Text Handler - MockTextHandler allows FileTextHandler objects to be replaced by a mock in unit tests.
MockTextHandler stores strings written to it in a private
HashMap.
Traits§
- TextIO
Handler - Implementors provide the ability to accept
std::string::Stringcontent associated with anstd::ffi::OsStrname, as can be expected from entities mediating a file system or their mocks and simulators.