diff --git a/Examples/AccessControlLists/AccessControlLists/CustomAccessControlStrategy.cs b/Examples/AccessControlLists/AccessControlLists/CustomAccessControlStrategy.cs index 41107f1ed..6c859079c 100644 --- a/Examples/AccessControlLists/AccessControlLists/CustomAccessControlStrategy.cs +++ b/Examples/AccessControlLists/AccessControlLists/CustomAccessControlStrategy.cs @@ -13,7 +13,7 @@ public CustomAccessControlStrategy(Func callback) _callback = callback; } - /// - public bool IsAccessGranted(string fullPath, IFileSystemExtensionContainer extensionContainer) + /// + public bool IsAccessGranted(string fullPath, IFileSystemExtensibility extensibility) => _callback(fullPath); } diff --git a/Source/Testably.Abstractions.AccessControl/AccessControlHelpers.cs b/Source/Testably.Abstractions.AccessControl/AccessControlHelpers.cs index bc201357b..30e61eb9a 100644 --- a/Source/Testably.Abstractions.AccessControl/AccessControlHelpers.cs +++ b/Source/Testably.Abstractions.AccessControl/AccessControlHelpers.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -38,6 +37,7 @@ public static TFileSystemInfo ThrowIfMissing( return fileSystemInfo; } + public static IDirectoryInfo ThrowIfParentMissing( this IDirectoryInfo fileSystemInfo) { diff --git a/Source/Testably.Abstractions.AccessControl/DirectoryAclExtensions.cs b/Source/Testably.Abstractions.AccessControl/DirectoryAclExtensions.cs index 086f91db7..cf5738989 100644 --- a/Source/Testably.Abstractions.AccessControl/DirectoryAclExtensions.cs +++ b/Source/Testably.Abstractions.AccessControl/DirectoryAclExtensions.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -18,9 +17,9 @@ public static void CreateDirectory(this IDirectory directory, { IDirectoryInfo directoryInfo = directory.FileSystem.DirectoryInfo.New(path); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out DirectoryInfo? di)) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out DirectoryInfo? di)) { di.Create(directorySecurity); } @@ -29,7 +28,7 @@ public static void CreateDirectory(this IDirectory directory, _ = directorySecurity ?? throw new ArgumentNullException(nameof(directorySecurity)); directoryInfo.ThrowIfParentMissing(); directoryInfo.Create(); - directoryInfo.ExtensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + directoryInfo.Extensibility.StoreMetadata(AccessControlHelpers.AccessControl, directorySecurity); } } @@ -42,11 +41,11 @@ public static DirectorySecurity GetAccessControl( IDirectoryInfo directoryInfo = directory.FileSystem.DirectoryInfo.New(path); directoryInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out DirectoryInfo? di) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out DirectoryInfo? di) ? di.GetAccessControl() - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new DirectorySecurity(); } @@ -60,11 +59,11 @@ public static DirectorySecurity GetAccessControl( IDirectoryInfo directoryInfo = directory.FileSystem.DirectoryInfo.New(path); directoryInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out DirectoryInfo? di) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out DirectoryInfo? di) ? di.GetAccessControl(includeSections) - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new DirectorySecurity(); } @@ -76,15 +75,15 @@ public static void SetAccessControl(this IDirectory directory, { IDirectoryInfo directoryInfo = directory.FileSystem.DirectoryInfo.New(path); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out DirectoryInfo? di)) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out DirectoryInfo? di)) { di.SetAccessControl(directorySecurity); } else { - extensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + extensibility.StoreMetadata(AccessControlHelpers.AccessControl, directorySecurity); } } diff --git a/Source/Testably.Abstractions.AccessControl/DirectoryInfoAclExtensions.cs b/Source/Testably.Abstractions.AccessControl/DirectoryInfoAclExtensions.cs index 6b0ab9bae..d9edba740 100644 --- a/Source/Testably.Abstractions.AccessControl/DirectoryInfoAclExtensions.cs +++ b/Source/Testably.Abstractions.AccessControl/DirectoryInfoAclExtensions.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -15,9 +14,9 @@ public static class DirectoryInfoAclExtensions public static void Create(this IDirectoryInfo directoryInfo, DirectorySecurity directorySecurity) { - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out DirectoryInfo? di)) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out DirectoryInfo? di)) { di.Create(directorySecurity); } @@ -26,7 +25,7 @@ public static void Create(this IDirectoryInfo directoryInfo, _ = directorySecurity ?? throw new ArgumentNullException(nameof(directorySecurity)); directoryInfo.ThrowIfParentMissing(); directoryInfo.Create(); - directoryInfo.ExtensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + directoryInfo.Extensibility.StoreMetadata(AccessControlHelpers.AccessControl, directorySecurity); } } @@ -37,11 +36,11 @@ public static DirectorySecurity GetAccessControl( this IDirectoryInfo directoryInfo) { directoryInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out DirectoryInfo? di) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out DirectoryInfo? di) ? di.GetAccessControl() - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new DirectorySecurity(); } @@ -52,11 +51,11 @@ public static DirectorySecurity GetAccessControl( AccessControlSections includeSections) { directoryInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out DirectoryInfo? di) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out DirectoryInfo? di) ? di.GetAccessControl(includeSections) - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new DirectorySecurity(); } @@ -65,15 +64,15 @@ public static DirectorySecurity GetAccessControl( public static void SetAccessControl(this IDirectoryInfo directoryInfo, DirectorySecurity directorySecurity) { - IFileSystemExtensionContainer extensionContainer = - directoryInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out DirectoryInfo? di)) + IFileSystemExtensibility extensibility = + directoryInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out DirectoryInfo? di)) { di.SetAccessControl(directorySecurity); } else { - extensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + extensibility.StoreMetadata(AccessControlHelpers.AccessControl, directorySecurity); } } diff --git a/Source/Testably.Abstractions.AccessControl/FileAclExtensions.cs b/Source/Testably.Abstractions.AccessControl/FileAclExtensions.cs index f0d4fa8e7..5b9934ef0 100644 --- a/Source/Testably.Abstractions.AccessControl/FileAclExtensions.cs +++ b/Source/Testably.Abstractions.AccessControl/FileAclExtensions.cs @@ -1,6 +1,5 @@ using System.IO; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -16,11 +15,11 @@ public static FileSecurity GetAccessControl( { IFileInfo fileInfo = file.FileSystem.FileInfo.New(path); fileInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out FileInfo? fi) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out FileInfo? fi) ? fi.GetAccessControl() - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new FileSecurity(); } @@ -33,11 +32,11 @@ public static FileSecurity GetAccessControl( { IFileInfo fileInfo = file.FileSystem.FileInfo.New(path); fileInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out FileInfo? fi) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out FileInfo? fi) ? fi.GetAccessControl(includeSections) - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new FileSecurity(); } @@ -48,15 +47,15 @@ public static void SetAccessControl(this IFile file, FileSecurity fileSecurity) { IFileInfo fileInfo = file.FileSystem.FileInfo.New(path); - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out FileInfo? fi)) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out FileInfo? fi)) { fi.SetAccessControl(fileSecurity); } else { - extensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + extensibility.StoreMetadata(AccessControlHelpers.AccessControl, fileSecurity); } } diff --git a/Source/Testably.Abstractions.AccessControl/FileInfoAclExtensions.cs b/Source/Testably.Abstractions.AccessControl/FileInfoAclExtensions.cs index 7c63091a0..980541213 100644 --- a/Source/Testably.Abstractions.AccessControl/FileInfoAclExtensions.cs +++ b/Source/Testably.Abstractions.AccessControl/FileInfoAclExtensions.cs @@ -1,6 +1,5 @@ using System.IO; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -15,11 +14,11 @@ public static FileSecurity GetAccessControl( this IFileInfo fileInfo) { fileInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out FileInfo? fi) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out FileInfo? fi) ? fi.GetAccessControl() - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new FileSecurity(); } @@ -30,11 +29,11 @@ public static FileSecurity GetAccessControl( AccessControlSections includeSections) { fileInfo.ThrowIfMissing(); - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out FileInfo? fi) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + return extensibility.TryGetWrappedInstance(out FileInfo? fi) ? fi.GetAccessControl(includeSections) - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new FileSecurity(); } @@ -43,15 +42,15 @@ public static FileSecurity GetAccessControl( public static void SetAccessControl(this IFileInfo fileInfo, FileSecurity fileSecurity) { - IFileSystemExtensionContainer extensionContainer = - fileInfo.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out FileInfo? fi)) + IFileSystemExtensibility extensibility = + fileInfo.Extensibility; + if (extensibility.TryGetWrappedInstance(out FileInfo? fi)) { fi.SetAccessControl(fileSecurity); } else { - extensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + extensibility.StoreMetadata(AccessControlHelpers.AccessControl, fileSecurity); } } diff --git a/Source/Testably.Abstractions.AccessControl/FileStreamAclExtensions.cs b/Source/Testably.Abstractions.AccessControl/FileStreamAclExtensions.cs index 0a8a8ed53..8e0fa3b0a 100644 --- a/Source/Testably.Abstractions.AccessControl/FileStreamAclExtensions.cs +++ b/Source/Testably.Abstractions.AccessControl/FileStreamAclExtensions.cs @@ -1,6 +1,5 @@ using System.IO; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -13,11 +12,11 @@ public static class FileStreamAclExtensions [SupportedOSPlatform("windows")] public static FileSecurity GetAccessControl(this FileSystemStream fileStream) { - IFileSystemExtensionContainer extensionContainer = - fileStream.ExtensionContainer; - return extensionContainer.HasWrappedInstance(out FileStream? fs) + IFileSystemExtensibility extensibility = + fileStream.Extensibility; + return extensibility.TryGetWrappedInstance(out FileStream? fs) ? fs.GetAccessControl() - : extensionContainer.RetrieveMetadata( + : extensibility.RetrieveMetadata( AccessControlHelpers.AccessControl) ?? new FileSecurity(); } @@ -26,15 +25,15 @@ public static FileSecurity GetAccessControl(this FileSystemStream fileStream) public static void SetAccessControl(this FileSystemStream fileStream, FileSecurity fileSecurity) { - IFileSystemExtensionContainer extensionContainer = - fileStream.ExtensionContainer; - if (extensionContainer.HasWrappedInstance(out FileStream? fs)) + IFileSystemExtensibility extensibility = + fileStream.Extensibility; + if (extensibility.TryGetWrappedInstance(out FileStream? fs)) { fs.SetAccessControl(fileSecurity); } else { - extensionContainer.StoreMetadata(AccessControlHelpers.AccessControl, + extensibility.StoreMetadata(AccessControlHelpers.AccessControl, fileSecurity); } } diff --git a/Source/Testably.Abstractions.AccessControl/Usings.cs b/Source/Testably.Abstractions.AccessControl/Usings.cs index acb44645c..f15db6c3f 100644 --- a/Source/Testably.Abstractions.AccessControl/Usings.cs +++ b/Source/Testably.Abstractions.AccessControl/Usings.cs @@ -3,3 +3,4 @@ #else global using System.Runtime.Versioning; #endif +global using Testably.Abstractions.FileSystem; diff --git a/Source/Testably.Abstractions.Compression/IZipArchive.cs b/Source/Testably.Abstractions.Compression/IZipArchive.cs index 06a975ee5..831f1d93a 100644 --- a/Source/Testably.Abstractions.Compression/IZipArchive.cs +++ b/Source/Testably.Abstractions.Compression/IZipArchive.cs @@ -1,12 +1,11 @@ using System; using System.Collections.ObjectModel; using System.IO.Compression; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; /// -public interface IZipArchive : IFileSystemExtensionPoint, IDisposable +public interface IZipArchive : IFileSystemEntity, IDisposable { #if FEATURE_ZIPFILE_NET7 /// diff --git a/Source/Testably.Abstractions.Compression/IZipArchiveEntry.cs b/Source/Testably.Abstractions.Compression/IZipArchiveEntry.cs index fc60d0c16..38497648d 100644 --- a/Source/Testably.Abstractions.Compression/IZipArchiveEntry.cs +++ b/Source/Testably.Abstractions.Compression/IZipArchiveEntry.cs @@ -1,12 +1,11 @@ using System; using System.IO; using System.IO.Compression; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; /// -public interface IZipArchiveEntry : IFileSystemExtensionPoint +public interface IZipArchiveEntry : IFileSystemEntity { /// IZipArchive Archive { get; } diff --git a/Source/Testably.Abstractions.Compression/IZipArchiveFactory.cs b/Source/Testably.Abstractions.Compression/IZipArchiveFactory.cs index f49c3950f..eab3663b0 100644 --- a/Source/Testably.Abstractions.Compression/IZipArchiveFactory.cs +++ b/Source/Testably.Abstractions.Compression/IZipArchiveFactory.cs @@ -1,12 +1,11 @@ using System.IO; using System.IO.Compression; using System.Text; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; /// -public interface IZipArchiveFactory : IFileSystemExtensionPoint +public interface IZipArchiveFactory : IFileSystemEntity { /// IZipArchive New(Stream stream); diff --git a/Source/Testably.Abstractions.Compression/IZipFile.cs b/Source/Testably.Abstractions.Compression/IZipFile.cs index 8dec91cef..6e6f30891 100644 --- a/Source/Testably.Abstractions.Compression/IZipFile.cs +++ b/Source/Testably.Abstractions.Compression/IZipFile.cs @@ -1,11 +1,10 @@ using System.IO.Compression; using System.Text; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; /// -public interface IZipFile : IFileSystemExtensionPoint +public interface IZipFile : IFileSystemEntity { /// void CreateFromDirectory(string sourceDirectoryName, diff --git a/Source/Testably.Abstractions.Compression/Internal/ZipUtilities.cs b/Source/Testably.Abstractions.Compression/Internal/ZipUtilities.cs index 777b021aa..f6ba96973 100644 --- a/Source/Testably.Abstractions.Compression/Internal/ZipUtilities.cs +++ b/Source/Testably.Abstractions.Compression/Internal/ZipUtilities.cs @@ -2,7 +2,6 @@ using System.IO; using System.IO.Compression; using System.Text; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Internal; diff --git a/Source/Testably.Abstractions.Compression/Usings.cs b/Source/Testably.Abstractions.Compression/Usings.cs new file mode 100644 index 000000000..16d0ed6cd --- /dev/null +++ b/Source/Testably.Abstractions.Compression/Usings.cs @@ -0,0 +1 @@ +global using Testably.Abstractions.FileSystem; diff --git a/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs b/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs index 9271e5e3a..495ef5fd5 100644 --- a/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs +++ b/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.IO.Compression; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Internal; namespace Testably.Abstractions; @@ -53,7 +52,7 @@ public int ExternalAttributes } #endif - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Compression/ZipArchiveFactory.cs b/Source/Testably.Abstractions.Compression/ZipArchiveFactory.cs index d9df18a85..47166ee9e 100644 --- a/Source/Testably.Abstractions.Compression/ZipArchiveFactory.cs +++ b/Source/Testably.Abstractions.Compression/ZipArchiveFactory.cs @@ -1,7 +1,6 @@ using System.IO; using System.IO.Compression; using System.Text; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions; @@ -14,7 +13,7 @@ public ZipArchiveFactory(IFileSystem fileSystem) #region IZipArchiveFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs b/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs index 18dd7dc9b..fb2ee99c0 100644 --- a/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs +++ b/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs @@ -2,7 +2,6 @@ using System.Collections.ObjectModel; using System.IO.Compression; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Internal; namespace Testably.Abstractions; @@ -32,7 +31,7 @@ public string Comment public ReadOnlyCollection Entries => MapToZipArchiveEntries(_instance.Entries); - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Compression/ZipFileWrapper.cs b/Source/Testably.Abstractions.Compression/ZipFileWrapper.cs index 942b02aab..21b0c4bea 100644 --- a/Source/Testably.Abstractions.Compression/ZipFileWrapper.cs +++ b/Source/Testably.Abstractions.Compression/ZipFileWrapper.cs @@ -1,6 +1,5 @@ using System.IO.Compression; using System.Text; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Internal; namespace Testably.Abstractions; @@ -14,7 +13,7 @@ public ZipFileWrapper(IFileSystem fileSystem) #region IZipFile Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Interface/FileSystem/FileSystemStream.cs b/Source/Testably.Abstractions.Interface/FileSystem/FileSystemStream.cs index 8065abffa..0e170c94b 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/FileSystemStream.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/FileSystemStream.cs @@ -88,7 +88,7 @@ protected FileSystemStream(Stream stream, string? path, bool isAsync = false) /// /// A container to support extensions on . /// - public abstract IFileSystemExtensionContainer ExtensionContainer { get; } + public abstract IFileSystemExtensibility Extensibility { get; } /// public override IAsyncResult BeginRead(byte[] buffer, diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IDirectory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IDirectory.cs index 83e36578d..6cd897b23 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IDirectory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IDirectory.cs @@ -8,7 +8,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IDirectory : IFileSystemExtensionPoint +public interface IDirectory : IFileSystemEntity { /// IDirectoryInfo CreateDirectory(string path); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IDirectoryInfoFactory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IDirectoryInfoFactory.cs index 4350eaa21..8c35c86cb 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IDirectoryInfoFactory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IDirectoryInfoFactory.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Factory for abstracting the creation of . /// -public interface IDirectoryInfoFactory : IFileSystemExtensionPoint +public interface IDirectoryInfoFactory : IFileSystemEntity { /// IDirectoryInfo New(string path); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfo.cs b/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfo.cs index f8735828d..752880723 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfo.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfo.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IDriveInfo : IFileSystemExtensionPoint +public interface IDriveInfo : IFileSystemEntity { /// long AvailableFreeSpace { get; } diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfoFactory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfoFactory.cs index 6b4d933fc..8d98c74ee 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfoFactory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IDriveInfoFactory.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Factory for abstracting the creation of . /// -public interface IDriveInfoFactory : IFileSystemExtensionPoint +public interface IDriveInfoFactory : IFileSystemEntity { /// IDriveInfo[] GetDrives(); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFile.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFile.cs index 7fccf3848..925013b0e 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFile.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFile.cs @@ -16,7 +16,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IFile : IFileSystemExtensionPoint +public interface IFile : IFileSystemEntity { /// void AppendAllLines(string path, IEnumerable contents); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileInfoFactory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileInfoFactory.cs index b0bda18a7..48a816e73 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileInfoFactory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileInfoFactory.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Factory for abstracting the creation of . /// -public interface IFileInfoFactory : IFileSystemExtensionPoint +public interface IFileInfoFactory : IFileSystemEntity { /// IFileInfo New(string fileName); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileStreamFactory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileStreamFactory.cs index 1a0f746b2..a4c2f690c 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileStreamFactory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileStreamFactory.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Factory for abstracting creation of . /// -public interface IFileStreamFactory : IFileSystemExtensionPoint +public interface IFileStreamFactory : IFileSystemEntity { /// FileSystemStream New(SafeFileHandle handle, FileAccess access); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionPoint.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemEntity.cs similarity index 90% rename from Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionPoint.cs rename to Source/Testably.Abstractions.Interface/FileSystem/IFileSystemEntity.cs index a9bdbcc62..d280fe53c 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionPoint.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemEntity.cs @@ -3,7 +3,7 @@ /// /// Interface to support implementing extension methods on top of nested interfaces. /// -public interface IFileSystemExtensionPoint +public interface IFileSystemEntity { /// /// Exposes the underlying file system implementation. diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionContainer.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensibility.cs similarity index 91% rename from Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionContainer.cs rename to Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensibility.cs index e2c584674..fe7922b3c 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensionContainer.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemExtensibility.cs @@ -5,7 +5,7 @@ namespace Testably.Abstractions.FileSystem; /// /// A container to support extensions on entities. /// -public interface IFileSystemExtensionContainer +public interface IFileSystemExtensibility { /// /// The wrapped instance on a real file system. @@ -14,7 +14,7 @@ public interface IFileSystemExtensionContainer /// when not on a real file system or if the requested type does not match, /// otherwise the wrapped instance. /// - bool HasWrappedInstance([NotNullWhen(true)] out T? wrappedInstance); + bool TryGetWrappedInstance([NotNullWhen(true)] out T? wrappedInstance); /// /// Stores additional metadata to the . diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemInfo.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemInfo.cs index e44ab426d..71c942848 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemInfo.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemInfo.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IFileSystemInfo +public interface IFileSystemInfo : IFileSystemEntity { /// FileAttributes Attributes { get; set; } @@ -26,7 +26,7 @@ public interface IFileSystemInfo /// /// A container to support extensions on . /// - IFileSystemExtensionContainer ExtensionContainer { get; } + IFileSystemExtensibility Extensibility { get; } /// string FullName { get; } diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcher.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcher.cs index 606240575..bf26b8ae2 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcher.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcher.cs @@ -10,7 +10,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IFileSystemWatcher : IFileSystemExtensionPoint, IDisposable +public interface IFileSystemWatcher : IFileSystemEntity, IDisposable { /// IContainer? Container { get; } @@ -75,22 +75,4 @@ public interface IFileSystemWatcher : IFileSystemExtensionPoint, IDisposable /// IWaitForChangedResult WaitForChanged(WatcherChangeTypes changeType, TimeSpan timeout); #endif - - /// - /// Abstractions for . - /// - public interface IWaitForChangedResult - { - /// - WatcherChangeTypes ChangeType { get; } - - /// - string? Name { get; } - - /// - string? OldName { get; } - - /// - bool TimedOut { get; } - } } diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcherFactory.cs b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcherFactory.cs index fafd54a51..6c1465b21 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcherFactory.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IFileSystemWatcherFactory.cs @@ -6,7 +6,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Factory for abstracting the creation of . /// -public interface IFileSystemWatcherFactory : IFileSystemExtensionPoint +public interface IFileSystemWatcherFactory : IFileSystemEntity { /// IFileSystemWatcher New(); diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IPath.cs b/Source/Testably.Abstractions.Interface/FileSystem/IPath.cs index 632cb36fa..671908142 100644 --- a/Source/Testably.Abstractions.Interface/FileSystem/IPath.cs +++ b/Source/Testably.Abstractions.Interface/FileSystem/IPath.cs @@ -9,7 +9,7 @@ namespace Testably.Abstractions.FileSystem; /// /// Abstractions for . /// -public interface IPath : IFileSystemExtensionPoint +public interface IPath : IFileSystemEntity { /// char AltDirectorySeparatorChar { get; } diff --git a/Source/Testably.Abstractions.Interface/FileSystem/IWaitForChangedResult.cs b/Source/Testably.Abstractions.Interface/FileSystem/IWaitForChangedResult.cs new file mode 100644 index 000000000..d992a3d44 --- /dev/null +++ b/Source/Testably.Abstractions.Interface/FileSystem/IWaitForChangedResult.cs @@ -0,0 +1,21 @@ +using System.IO; + +namespace Testably.Abstractions.FileSystem; + +/// +/// Abstractions for . +/// +public interface IWaitForChangedResult +{ + /// + WatcherChangeTypes ChangeType { get; } + + /// + string? Name { get; } + + /// + string? OldName { get; } + + /// + bool TimedOut { get; } +} diff --git a/Source/Testably.Abstractions.Interface/Helpers/GuidSystemBase.cs b/Source/Testably.Abstractions.Interface/Helpers/GuidSystemBase.cs index bd3e7584b..38f69a968 100644 --- a/Source/Testably.Abstractions.Interface/Helpers/GuidSystemBase.cs +++ b/Source/Testably.Abstractions.Interface/Helpers/GuidSystemBase.cs @@ -26,7 +26,7 @@ protected GuidSystemBase(IRandomSystem randomSystem) /// public Guid Empty => Guid.Empty; - /// + /// public IRandomSystem RandomSystem { get; } /// diff --git a/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs b/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs index 2f1c07b10..d28b6f7b1 100644 --- a/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs +++ b/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs @@ -32,7 +32,7 @@ public char AltDirectorySeparatorChar public char DirectorySeparatorChar => Path.DirectorySeparatorChar; - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Interface/RandomSystem/IGuid.cs b/Source/Testably.Abstractions.Interface/RandomSystem/IGuid.cs index 8ed7eb8a5..be5f49aa6 100644 --- a/Source/Testably.Abstractions.Interface/RandomSystem/IGuid.cs +++ b/Source/Testably.Abstractions.Interface/RandomSystem/IGuid.cs @@ -8,7 +8,7 @@ namespace Testably.Abstractions.RandomSystem; /// /// Abstractions for . /// -public interface IGuid : IRandomSystemExtensionPoint +public interface IGuid : IRandomSystemEntity { /// Guid Empty { get; } diff --git a/Source/Testably.Abstractions.Interface/RandomSystem/IRandomFactory.cs b/Source/Testably.Abstractions.Interface/RandomSystem/IRandomFactory.cs index b66681384..3f7da3d47 100644 --- a/Source/Testably.Abstractions.Interface/RandomSystem/IRandomFactory.cs +++ b/Source/Testably.Abstractions.Interface/RandomSystem/IRandomFactory.cs @@ -3,7 +3,7 @@ /// /// Factory for abstracting creation of . /// -public interface IRandomFactory : IRandomSystemExtensionPoint +public interface IRandomFactory : IRandomSystemEntity { /// /// Provides a thread-safe instance that may be used concurrently from any thread. diff --git a/Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemExtensionPoint.cs b/Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemEntity.cs similarity index 90% rename from Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemExtensionPoint.cs rename to Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemEntity.cs index f84b84452..925763e5a 100644 --- a/Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemExtensionPoint.cs +++ b/Source/Testably.Abstractions.Interface/RandomSystem/IRandomSystemEntity.cs @@ -3,7 +3,7 @@ /// /// Interface to support implementing extension methods on top of nested interfaces. /// -public interface IRandomSystemExtensionPoint +public interface IRandomSystemEntity { /// /// Exposes the underlying random system implementation. diff --git a/Source/Testably.Abstractions.Interface/TimeSystem/IDateTime.cs b/Source/Testably.Abstractions.Interface/TimeSystem/IDateTime.cs index 991238f28..329d4335d 100644 --- a/Source/Testably.Abstractions.Interface/TimeSystem/IDateTime.cs +++ b/Source/Testably.Abstractions.Interface/TimeSystem/IDateTime.cs @@ -5,7 +5,7 @@ namespace Testably.Abstractions.TimeSystem; /// /// Abstractions for . /// -public interface IDateTime : ITimeSystemExtensionPoint +public interface IDateTime : ITimeSystemEntity { /// DateTime MaxValue { get; } diff --git a/Source/Testably.Abstractions.Interface/TimeSystem/ITask.cs b/Source/Testably.Abstractions.Interface/TimeSystem/ITask.cs index 054006f7f..47220fd1b 100644 --- a/Source/Testably.Abstractions.Interface/TimeSystem/ITask.cs +++ b/Source/Testably.Abstractions.Interface/TimeSystem/ITask.cs @@ -7,7 +7,7 @@ namespace Testably.Abstractions.TimeSystem; /// /// Abstractions for . /// -public interface ITask : ITimeSystemExtensionPoint +public interface ITask : ITimeSystemEntity { /// Task Delay(int millisecondsDelay); diff --git a/Source/Testably.Abstractions.Interface/TimeSystem/IThread.cs b/Source/Testably.Abstractions.Interface/TimeSystem/IThread.cs index 7ae420dee..6b9ce026c 100644 --- a/Source/Testably.Abstractions.Interface/TimeSystem/IThread.cs +++ b/Source/Testably.Abstractions.Interface/TimeSystem/IThread.cs @@ -5,7 +5,7 @@ namespace Testably.Abstractions.TimeSystem; /// /// Abstractions for . /// -public interface IThread : ITimeSystemExtensionPoint +public interface IThread : ITimeSystemEntity { /// void Sleep(int millisecondsTimeout); diff --git a/Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemExtensionPoint.cs b/Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemEntity.cs similarity index 90% rename from Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemExtensionPoint.cs rename to Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemEntity.cs index e57fb716d..5bb5d48c4 100644 --- a/Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemExtensionPoint.cs +++ b/Source/Testably.Abstractions.Interface/TimeSystem/ITimeSystemEntity.cs @@ -3,7 +3,7 @@ /// /// Interface to support implementing extension methods on top of nested interfaces. /// -public interface ITimeSystemExtensionPoint +public interface ITimeSystemEntity { /// /// Exposes the underlying time system implementation. diff --git a/Source/Testably.Abstractions.Testing/FileSystem/ChangeHandler.cs b/Source/Testably.Abstractions.Testing/FileSystem/ChangeHandler.cs index e4593e1b3..356b69789 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/ChangeHandler.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/ChangeHandler.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Storage; namespace Testably.Abstractions.Testing.FileSystem; @@ -23,7 +22,7 @@ public ChangeHandler(MockFileSystem mockFileSystem) #region IInterceptionHandler Members - /// + /// public IFileSystem FileSystem => _mockFileSystem; /// public class DefaultAccessControlStrategy : IAccessControlStrategy { - private readonly Func _callback; + private readonly Func _callback; /// /// Initializes a new instance of which takes a callback to determine if /// access should be granted. /// public DefaultAccessControlStrategy( - Func callback) + Func callback) { _callback = callback ?? throw new ArgumentNullException(nameof(callback)); } - /// + /// public bool IsAccessGranted(string fullPath, - IFileSystemExtensionContainer extensionContainer) - => _callback(fullPath, extensionContainer); + IFileSystemExtensibility extensibility) + => _callback(fullPath, extensibility); } diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoFactoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoFactoryMock.cs index 9b3a82087..845256553 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoFactoryMock.cs @@ -1,6 +1,5 @@ using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; namespace Testably.Abstractions.Testing.FileSystem; @@ -16,7 +15,7 @@ internal DirectoryInfoFactoryMock(MockFileSystem fileSystem) #region IDirectoryInfoFactory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs index b1cbb603e..b24fb5f29 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -14,10 +13,13 @@ namespace Testably.Abstractions.Testing.FileSystem; internal sealed class DirectoryInfoMock : FileSystemInfoMock, IDirectoryInfo { + private readonly MockFileSystem _fileSystem; + private DirectoryInfoMock(IStorageLocation location, MockFileSystem fileSystem) : base(fileSystem, location, FileSystemTypes.Directory) { + _fileSystem = fileSystem; } #region IDirectoryInfo Members @@ -28,21 +30,21 @@ public override bool Exists /// public IDirectoryInfo? Parent - => New(Location.GetParent(), FileSystem); + => New(Location.GetParent(), _fileSystem); /// public IDirectoryInfo Root - => New(FileSystem.Storage.GetLocation(string.Empty.PrefixRoot()), - FileSystem); + => New(_fileSystem.Storage.GetLocation(string.Empty.PrefixRoot()), + _fileSystem); /// public void Create() { - FullName.EnsureValidFormat(FileSystem); + FullName.EnsureValidFormat(_fileSystem); - Container = FileSystem.Storage.GetOrCreateContainer(Location, + Container = _fileSystem.Storage.GetOrCreateContainer(Location, InMemoryContainer.NewDirectory, - ExtensionContainer); + Extensibility); ResetCache(!Execute.IsNetFramework); } @@ -51,11 +53,11 @@ public void Create() public IDirectoryInfo CreateSubdirectory(string path) { DirectoryInfoMock directory = New( - FileSystem.Storage.GetLocation( - FileSystem.Path.Combine(FullName, path - .EnsureValidFormat(FileSystem, nameof(path), + _fileSystem.Storage.GetLocation( + _fileSystem.Path.Combine(FullName, path + .EnsureValidFormat(_fileSystem, nameof(path), Execute.IsWindows && !Execute.IsNetFramework))), - FileSystem); + _fileSystem); directory.Create(); return directory; } @@ -63,7 +65,7 @@ public IDirectoryInfo CreateSubdirectory(string path) /// public override void Delete() { - if (!FileSystem.Storage.DeleteContainer(Location)) + if (!_fileSystem.Storage.DeleteContainer(Location)) { throw ExceptionFactory.DirectoryNotFound(Location.FullPath); } @@ -74,8 +76,8 @@ public override void Delete() /// public void Delete(bool recursive) { - if (!FileSystem.Storage.DeleteContainer( - FileSystem.Storage.GetLocation(FullName), recursive)) + if (!_fileSystem.Storage.DeleteContainer( + _fileSystem.Storage.GetLocation(FullName), recursive)) { throw ExceptionFactory.DirectoryNotFound(FullName); } @@ -101,7 +103,7 @@ public IEnumerable EnumerateDirectories( FullName, searchPattern, EnumerationOptionsHelper.FromSearchOption(searchOption)) - .Select(location => New(location, FileSystem)); + .Select(location => New(location, _fileSystem)); #if FEATURE_FILESYSTEM_ENUMERATION_OPTIONS /// @@ -112,7 +114,7 @@ public IEnumerable EnumerateDirectories( FullName, searchPattern, enumerationOptions) - .Select(location => New(location, FileSystem)); + .Select(location => New(location, _fileSystem)); #endif /// @@ -132,7 +134,7 @@ public IEnumerable EnumerateFiles( FullName, searchPattern, EnumerationOptionsHelper.FromSearchOption(searchOption)) - .Select(location => FileInfoMock.New(location, FileSystem)); + .Select(location => FileInfoMock.New(location, _fileSystem)); #if FEATURE_FILESYSTEM_ENUMERATION_OPTIONS /// @@ -142,7 +144,7 @@ public IEnumerable EnumerateFiles( FullName, searchPattern, enumerationOptions) - .Select(location => FileInfoMock.New(location, FileSystem)); + .Select(location => FileInfoMock.New(location, _fileSystem)); #endif /// @@ -163,7 +165,7 @@ public IEnumerable EnumerateFileSystemInfos( FullName, searchPattern, EnumerationOptionsHelper.FromSearchOption(searchOption)) - .Select(location => FileSystemInfoMock.New(location, FileSystem)); + .Select(location => FileSystemInfoMock.New(location, _fileSystem)); #if FEATURE_FILESYSTEM_ENUMERATION_OPTIONS /// @@ -174,7 +176,7 @@ public IEnumerable EnumerateFileSystemInfos( FullName, searchPattern, enumerationOptions) - .Select(location => FileSystemInfoMock.New(location, FileSystem)); + .Select(location => FileSystemInfoMock.New(location, _fileSystem)); #endif /// @@ -241,10 +243,10 @@ public IFileSystemInfo[] GetFileSystemInfos( /// public void MoveTo(string destDirName) - => Location = FileSystem.Storage.Move( - FileSystem.Storage.GetLocation(FullName), - FileSystem.Storage.GetLocation(destDirName - .EnsureValidFormat(FileSystem, nameof(destDirName))), + => Location = _fileSystem.Storage.Move( + _fileSystem.Storage.GetLocation(FullName), + _fileSystem.Storage.GetLocation(destDirName + .EnsureValidFormat(_fileSystem, nameof(destDirName))), recursive: true) ?? throw ExceptionFactory.DirectoryNotFound(FullName); @@ -268,11 +270,11 @@ private IEnumerable EnumerateInternal( string searchPattern, EnumerationOptions enumerationOptions) { - StorageExtensions.AdjustedLocation adjustedLocation = FileSystem.Storage + StorageExtensions.AdjustedLocation adjustedLocation = _fileSystem.Storage .AdjustLocationFromSearchPattern( - path.EnsureValidFormat(FileSystem), + path.EnsureValidFormat(_fileSystem), searchPattern); - return FileSystem.Storage.EnumerateLocations( + return _fileSystem.Storage.EnumerateLocations( adjustedLocation.Location, fileSystemTypes, adjustedLocation.SearchPattern, diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs index fc7d0fda2..e600453c5 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs @@ -3,7 +3,6 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -20,7 +19,7 @@ internal DirectoryMock(MockFileSystem fileSystem) #region IDirectory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoFactoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoFactoryMock.cs index 81e359510..b445806f6 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoFactoryMock.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Storage; namespace Testably.Abstractions.Testing.FileSystem; @@ -18,7 +17,7 @@ internal DriveInfoFactoryMock(MockFileSystem fileSystem) #region IDriveInfoFactory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs index 25cec0d7d..6c41d390e 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs @@ -1,7 +1,6 @@ using System; using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -68,7 +67,7 @@ public long AvailableFreeSpace /// public DriveType DriveType { get; private set; } - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoFactoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoFactoryMock.cs index 18666dfc7..86b35d86f 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoFactoryMock.cs @@ -1,7 +1,6 @@ using System; using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; namespace Testably.Abstractions.Testing.FileSystem; @@ -17,7 +16,7 @@ internal FileInfoFactoryMock(MockFileSystem fileSystem) #region IFileInfoFactory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs index bb1865de8..bcf7e9246 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs @@ -1,6 +1,5 @@ using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -12,10 +11,13 @@ namespace Testably.Abstractions.Testing.FileSystem; internal sealed class FileInfoMock : FileSystemInfoMock, IFileInfo { + private readonly MockFileSystem _fileSystem; + private FileInfoMock(IStorageLocation location, MockFileSystem fileSystem) : base(fileSystem, location, FileSystemTypes.File) { + _fileSystem = fileSystem; } #region IFileInfo Members @@ -23,7 +25,7 @@ private FileInfoMock(IStorageLocation location, /// public IDirectoryInfo? Directory => DirectoryInfoMock.New(Location.GetParent(), - FileSystem); + _fileSystem); /// public string? DirectoryName @@ -75,37 +77,37 @@ public StreamWriter AppendText() /// public IFileInfo CopyTo(string destFileName) { - destFileName.EnsureValidArgument(FileSystem, nameof(destFileName)); - IStorageLocation destinationLocation = FileSystem.Storage.GetLocation(destFileName); - Location.ThrowExceptionIfNotFound(FileSystem); - IStorageLocation location = FileSystem.Storage + destFileName.EnsureValidArgument(_fileSystem, nameof(destFileName)); + IStorageLocation destinationLocation = _fileSystem.Storage.GetLocation(destFileName); + Location.ThrowExceptionIfNotFound(_fileSystem); + IStorageLocation location = _fileSystem.Storage .Copy(Location, destinationLocation) ?? throw ExceptionFactory.FileNotFound(FullName); - return FileSystem.FileInfo.New(location.FullPath); + return _fileSystem.FileInfo.New(location.FullPath); } /// public IFileInfo CopyTo(string destFileName, bool overwrite) { - destFileName.EnsureValidArgument(FileSystem, nameof(destFileName)); - IStorageLocation location = FileSystem.Storage.Copy( + destFileName.EnsureValidArgument(_fileSystem, nameof(destFileName)); + IStorageLocation location = _fileSystem.Storage.Copy( Location, - FileSystem.Storage.GetLocation(destFileName), + _fileSystem.Storage.GetLocation(destFileName), overwrite) ?? throw ExceptionFactory.FileNotFound(FullName); - return FileSystem.FileInfo.New(location.FullPath); + return _fileSystem.FileInfo.New(location.FullPath); } /// public FileSystemStream Create() { Execute.NotOnNetFramework(Refresh); - return FileSystem.File.Create(FullName); + return _fileSystem.File.Create(FullName); } /// public StreamWriter CreateText() - => new(FileSystem.File.Create(FullName)); + => new(_fileSystem.File.Create(FullName)); /// [SupportedOSPlatform("windows")] @@ -120,10 +122,10 @@ public void Encrypt() /// public void MoveTo(string destFileName) { - Location = FileSystem.Storage.Move( + Location = _fileSystem.Storage.Move( Location, - FileSystem.Storage.GetLocation(destFileName - .EnsureValidArgument(FileSystem, nameof(destFileName)))) + _fileSystem.Storage.GetLocation(destFileName + .EnsureValidArgument(_fileSystem, nameof(destFileName)))) ?? throw ExceptionFactory.FileNotFound(FullName); } @@ -131,10 +133,10 @@ public void MoveTo(string destFileName) /// public void MoveTo(string destFileName, bool overwrite) { - Location = FileSystem.Storage.Move( + Location = _fileSystem.Storage.Move( Location, - FileSystem.Storage.GetLocation(destFileName - .EnsureValidArgument(FileSystem, nameof(destFileName))), + _fileSystem.Storage.GetLocation(destFileName + .EnsureValidArgument(_fileSystem, nameof(destFileName))), overwrite) ?? throw ExceptionFactory.FileNotFound(FullName); } @@ -147,7 +149,7 @@ public FileSystemStream Open(FileMode mode) () => throw ExceptionFactory.AppendAccessOnlyInWriteOnlyMode()); return new FileStreamMock( - FileSystem, + _fileSystem, FullName, mode, mode == FileMode.Append ? FileAccess.Write : FileAccess.ReadWrite, @@ -157,7 +159,7 @@ public FileSystemStream Open(FileMode mode) /// public FileSystemStream Open(FileMode mode, FileAccess access) => new FileStreamMock( - FileSystem, + _fileSystem, FullName, mode, access, @@ -166,7 +168,7 @@ public FileSystemStream Open(FileMode mode, FileAccess access) /// public FileSystemStream Open(FileMode mode, FileAccess access, FileShare share) => new FileStreamMock( - FileSystem, + _fileSystem, FullName, mode, access, @@ -175,13 +177,13 @@ public FileSystemStream Open(FileMode mode, FileAccess access, FileShare share) #if FEATURE_FILESYSTEM_STREAM_OPTIONS /// public FileSystemStream Open(FileStreamOptions options) - => FileSystem.File.Open(FullName, options); + => _fileSystem.File.Open(FullName, options); #endif /// public FileSystemStream OpenRead() => new FileStreamMock( - FileSystem, + _fileSystem, FullName, FileMode.Open, FileAccess.Read); @@ -193,7 +195,7 @@ public StreamReader OpenText() /// public FileSystemStream OpenWrite() => new FileStreamMock( - FileSystem, + _fileSystem, FullName, FileMode.OpenOrCreate, FileAccess.Write, @@ -204,10 +206,10 @@ public IFileInfo Replace(string destinationFileName, string? destinationBackupFileName) { IStorageLocation location = - FileSystem + _fileSystem .Storage .Replace( - Location.ThrowIfNotFound(FileSystem, + Location.ThrowIfNotFound(_fileSystem, () => { }, () => { @@ -218,10 +220,10 @@ public IFileInfo Replace(string destinationFileName, throw ExceptionFactory.DirectoryNotFound(FullName); }), - FileSystem.Storage + _fileSystem.Storage .GetLocation(destinationFileName - .EnsureValidFormat(FileSystem, nameof(destinationFileName))) - .ThrowIfNotFound(FileSystem, + .EnsureValidFormat(_fileSystem, nameof(destinationFileName))) + .ThrowIfNotFound(_fileSystem, () => { }, () => { @@ -232,9 +234,9 @@ public IFileInfo Replace(string destinationFileName, throw ExceptionFactory.FileNotFound(FullName); }), - FileSystem.Storage + _fileSystem.Storage .GetLocation(destinationBackupFileName) - .ThrowIfNotFound(FileSystem, + .ThrowIfNotFound(_fileSystem, () => { }, () => { @@ -246,7 +248,7 @@ public IFileInfo Replace(string destinationFileName, throw ExceptionFactory.DirectoryNotFound(FullName); })) ?? throw ExceptionFactory.FileNotFound(FullName); - return FileSystem.FileInfo.New(location.FullPath); + return _fileSystem.FileInfo.New(location.FullPath); } /// @@ -254,17 +256,17 @@ public IFileInfo Replace(string destinationFileName, string? destinationBackupFileName, bool ignoreMetadataErrors) { - IStorageLocation location = FileSystem.Storage.Replace( + IStorageLocation location = _fileSystem.Storage.Replace( Location, - FileSystem.Storage.GetLocation( + _fileSystem.Storage.GetLocation( destinationFileName - .EnsureValidFormat(FileSystem, + .EnsureValidFormat(_fileSystem, nameof(destinationFileName))), - FileSystem.Storage.GetLocation( + _fileSystem.Storage.GetLocation( destinationBackupFileName), ignoreMetadataErrors) ?? throw ExceptionFactory.FileNotFound(FullName); - return FileSystem.FileInfo.New(location.FullPath); + return _fileSystem.FileInfo.New(location.FullPath); } #endregion diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileMock.cs index 7962b970c..b9e73e136 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileMock.cs @@ -1,15 +1,15 @@ -#if FEATURE_FILESYSTEM_SAFEFILEHANDLE -using Microsoft.Win32.SafeHandles; -#endif -using System; +using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; using System.Text; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; +#if FEATURE_FILESYSTEM_SAFEFILEHANDLE +using Microsoft.Win32.SafeHandles; +#endif + #if FEATURE_FILESYSTEM_ASYNC using System.Threading; using System.Threading.Tasks; @@ -28,7 +28,7 @@ internal FileMock(MockFileSystem fileSystem) #region IFile Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamFactoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamFactoryMock.cs index b12535578..aca33ee87 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamFactoryMock.cs @@ -1,6 +1,5 @@ using Microsoft.Win32.SafeHandles; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; #if NET6_0_OR_GREATER using System.Diagnostics.CodeAnalysis; @@ -22,7 +21,7 @@ internal FileStreamFactoryMock(MockFileSystem fileSystem) #region IFileStreamFactory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs index fe1c9374a..094a3a452 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs @@ -2,7 +2,6 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -21,9 +20,9 @@ public override bool CanRead public override bool CanWrite => _access.HasFlag(FileAccess.Write); - /// - public override IFileSystemExtensionContainer ExtensionContainer - => _container.ExtensionContainer; + /// + public override IFileSystemExtensibility Extensibility + => _container.Extensibility; private readonly FileAccess _access; private readonly IDisposable _accessLock; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs index b77186811..3d1d9d713 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -10,7 +9,7 @@ internal class FileSystemInfoMock : IFileSystemInfo { protected FileSystemTypes FileSystemType { get; } protected IStorageLocation Location; - protected readonly MockFileSystem FileSystem; + private readonly MockFileSystem _fileSystem; protected IStorageContainer Container { @@ -33,7 +32,7 @@ protected IStorageContainer Container protected FileSystemInfoMock(MockFileSystem fileSystem, IStorageLocation location, FileSystemTypes fileSystemType) { - FileSystem = fileSystem; + _fileSystem = fileSystem; Location = location; _container = fileSystem.Storage.GetContainer(location); FileSystemType = _container is not NullContainer @@ -54,9 +53,9 @@ public FileAttributes Attributes /// public void CreateAsSymbolicLink(string pathToTarget) { - FullName.EnsureValidFormat(FileSystem); - pathToTarget.ThrowCommonExceptionsIfPathToTargetIsInvalid(FileSystem); - if (FileSystem.Storage.TryAddContainer(Location, InMemoryContainer.NewFile, + FullName.EnsureValidFormat(_fileSystem); + pathToTarget.ThrowCommonExceptionsIfPathToTargetIsInvalid(_fileSystem); + if (_fileSystem.Storage.TryAddContainer(Location, InMemoryContainer.NewFile, out IStorageContainer? container)) { Container = container; @@ -87,7 +86,7 @@ public DateTime CreationTimeUtc /// public virtual void Delete() { - FileSystem.Storage.DeleteContainer(Location); + _fileSystem.Storage.DeleteContainer(Location); ResetCache(!Execute.IsNetFramework); } @@ -114,13 +113,17 @@ public string Extension return "."; } - return FileSystem.Path.GetExtension(Location.FullPath); + return _fileSystem.Path.GetExtension(Location.FullPath); } } - /// - public IFileSystemExtensionContainer ExtensionContainer - => Container.ExtensionContainer; + /// + public IFileSystemExtensibility Extensibility + => Container.Extensibility; + + /// + public IFileSystem FileSystem + => _fileSystem; /// public string FullName => Location.FullPath; @@ -161,11 +164,11 @@ public string? LinkTarget /// public string Name - => FileSystem.Path.GetPathRoot(Location.FullPath) == Location.FullPath + => _fileSystem.Path.GetPathRoot(Location.FullPath) == Location.FullPath ? Location.FullPath - : FileSystem.Path.GetFileName(Location.FullPath.TrimEnd( - FileSystem.Path.DirectorySeparatorChar, - FileSystem.Path.AltDirectorySeparatorChar)); + : _fileSystem.Path.GetFileName(Location.FullPath.TrimEnd( + _fileSystem.Path.DirectorySeparatorChar, + _fileSystem.Path.AltDirectorySeparatorChar)); #if FEATURE_FILESYSTEM_UNIXFILEMODE /// @@ -196,12 +199,12 @@ public void Refresh() try { IStorageLocation? targetLocation = - FileSystem.Storage.ResolveLinkTarget( + _fileSystem.Storage.ResolveLinkTarget( Location, returnFinalTarget); if (targetLocation != null) { - return New(targetLocation, FileSystem); + return New(targetLocation, _fileSystem); } return null; @@ -259,7 +262,7 @@ private void RefreshInternal() return; } - Container = FileSystem.Storage.GetContainer(Location); + Container = _fileSystem.Storage.GetContainer(Location); _isInitialized = true; } } diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherFactoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherFactoryMock.cs index 8e6a2ba20..88cf8bae4 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherFactoryMock.cs @@ -1,6 +1,5 @@ using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; namespace Testably.Abstractions.Testing.FileSystem; @@ -17,7 +16,7 @@ internal FileSystemWatcherFactoryMock(MockFileSystem fileSystem) #region IFileSystemWatcherFactory Members - /// + /// public IFileSystem FileSystem => _fileSystem; diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs index cccd7bc6c..39162e045 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs @@ -7,7 +7,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; @@ -67,7 +66,7 @@ public bool EnableRaisingEvents } } - /// + /// public IFileSystem FileSystem => _fileSystem; @@ -166,18 +165,18 @@ public void EndInit() public event RenamedEventHandler? Renamed; /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged( + public IWaitForChangedResult WaitForChanged( WatcherChangeTypes changeType) => WaitForChanged(changeType, Timeout.Infinite); /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged( + public IWaitForChangedResult WaitForChanged( WatcherChangeTypes changeType, int timeout) => WaitForChangedInternal(changeType, TimeSpan.FromMilliseconds(timeout)); #if FEATURE_FILESYSTEM_NET7 /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged( + public IWaitForChangedResult WaitForChanged( WatcherChangeTypes changeType, TimeSpan timeout) => WaitForChangedInternal(changeType, timeout); #endif @@ -437,10 +436,10 @@ private bool TryMakeRenamedEventArgs( InMemoryLocation.StringComparisonMode) ?? true; } - private IFileSystemWatcher.IWaitForChangedResult WaitForChangedInternal( + private IWaitForChangedResult WaitForChangedInternal( WatcherChangeTypes changeType, TimeSpan timeout) { - TaskCompletionSource + TaskCompletionSource tcs = new(); void EventHandler(object? _, ChangeDescription c) @@ -480,8 +479,7 @@ void EventHandler(object? _, ChangeDescription c) #endif } - private struct WaitForChangedResultMock - : IFileSystemWatcher.IWaitForChangedResult + private struct WaitForChangedResultMock : IWaitForChangedResult { public WaitForChangedResultMock( WatcherChangeTypes changeType, @@ -501,16 +499,16 @@ public WaitForChangedResultMock( public static readonly WaitForChangedResultMock TimedOutResult = new(changeType: 0, name: null, oldName: null, timedOut: true); - /// + /// public WatcherChangeTypes ChangeType { get; } - /// + /// public string? Name { get; } - /// + /// public string? OldName { get; } - /// + /// public bool TimedOut { get; } } } diff --git a/Source/Testably.Abstractions.Testing/FileSystem/IAccessControlStrategy.cs b/Source/Testably.Abstractions.Testing/FileSystem/IAccessControlStrategy.cs index 03b207e35..ad6b66ff6 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/IAccessControlStrategy.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/IAccessControlStrategy.cs @@ -1,6 +1,4 @@ -using Testably.Abstractions.FileSystem; - -namespace Testably.Abstractions.Testing.FileSystem; +namespace Testably.Abstractions.Testing.FileSystem; /// /// The strategy to simulate access control (ACL) in the . @@ -11,10 +9,10 @@ public interface IAccessControlStrategy /// Implements a custom strategy to simulate access control (ACL) in the . /// /// The full path to the file or directory. - /// The extension container to store additional data. + /// The extension container to store additional data. /// /// if the access should be granted, otherwise . /// bool IsAccessGranted(string fullPath, - IFileSystemExtensionContainer extensionContainer); + IFileSystemExtensibility extensibility); } diff --git a/Source/Testably.Abstractions.Testing/FileSystem/IInterceptionHandler.cs b/Source/Testably.Abstractions.Testing/FileSystem/IInterceptionHandler.cs index 09b0b02a3..8316aafd0 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/IInterceptionHandler.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/IInterceptionHandler.cs @@ -1,12 +1,11 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystem; /// /// The interception handler for the . /// -public interface IInterceptionHandler : IFileSystemExtensionPoint +public interface IInterceptionHandler : IFileSystemEntity { /// /// Callback executed before any change in the matching the diff --git a/Source/Testably.Abstractions.Testing/FileSystem/INotificationHandler.cs b/Source/Testably.Abstractions.Testing/FileSystem/INotificationHandler.cs index 993108dce..95e80e571 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/INotificationHandler.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/INotificationHandler.cs @@ -1,12 +1,11 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystem; /// /// The notification handler for the . /// -public interface INotificationHandler : IFileSystemExtensionPoint +public interface INotificationHandler : IFileSystemEntity { /// /// Callback executed when any change in the matching the diff --git a/Source/Testably.Abstractions.Testing/FileSystem/NullAccessControlStrategy.cs b/Source/Testably.Abstractions.Testing/FileSystem/NullAccessControlStrategy.cs index 0bb8f4068..e21757429 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/NullAccessControlStrategy.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/NullAccessControlStrategy.cs @@ -1,13 +1,11 @@ -using Testably.Abstractions.FileSystem; - -namespace Testably.Abstractions.Testing.FileSystem; +namespace Testably.Abstractions.Testing.FileSystem; /// /// Null object of an which does not restrict access in any way. /// public class NullAccessControlStrategy : IAccessControlStrategy { - /// - public bool IsAccessGranted(string fullPath, IFileSystemExtensionContainer extensionContainer) + /// + public bool IsAccessGranted(string fullPath, IFileSystemExtensibility extensibility) => true; } diff --git a/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs index f78fc42a2..3229bfdd9 100644 --- a/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs +++ b/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Helpers; #if FEATURE_FILESYSTEM_NET7 using System.Diagnostics.CodeAnalysis; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs index cb60a3206..8bc0f9bb9 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; namespace Testably.Abstractions.Testing.FileSystemInitializer; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryInitializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryInitializer.cs index 9bd37a105..f62e5c2bc 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryInitializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryInitializer.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystemInitializer; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/FileInitializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/FileInitializer.cs index 2816f1305..90cdc6317 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/FileInitializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/FileInitializer.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystemInitializer; @@ -44,7 +43,7 @@ internal FileManipulator(IFileSystem fileSystem, IFileInfo file) /// public IFileInfo File { get; } - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileManipulator.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileManipulator.cs index a5b969d9d..b3d5bfb9d 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileManipulator.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileManipulator.cs @@ -1,11 +1,9 @@ -using Testably.Abstractions.FileSystem; - -namespace Testably.Abstractions.Testing.FileSystemInitializer; +namespace Testably.Abstractions.Testing.FileSystemInitializer; /// /// Manipulates the in the with test data. /// -public interface IFileManipulator : IFileSystemExtensionPoint +public interface IFileManipulator : IFileSystemEntity { /// /// The file to initialize. diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemDirectoryInitializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemDirectoryInitializer.cs index 2cb7fccb7..fb0d11b1d 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemDirectoryInitializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemDirectoryInitializer.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystemInitializer; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemFileInitializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemFileInitializer.cs index ee049dad1..e7ba47f7d 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemFileInitializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemFileInitializer.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.FileSystemInitializer; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemInitializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemInitializer.cs index fbc5a0e7f..9b54d17b8 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemInitializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/IFileSystemInitializer.cs @@ -1,6 +1,4 @@ -using Testably.Abstractions.FileSystem; - -namespace Testably.Abstractions.Testing.FileSystemInitializer; +namespace Testably.Abstractions.Testing.FileSystemInitializer; /// /// Initializes the with test data. diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/Initializer.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/Initializer.cs index 2ecfb3ddf..91fc88367 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/Initializer.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/Initializer.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.RandomSystem; using Testably.Abstractions.Testing.Helpers; diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs index c5f3af6c0..5c952531d 100644 --- a/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs +++ b/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Testing; diff --git a/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensionContainer.cs b/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensibility.cs similarity index 55% rename from Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensionContainer.cs rename to Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensibility.cs index 7a7ef606a..bdfe283c3 100644 --- a/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensionContainer.cs +++ b/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensibility.cs @@ -1,27 +1,26 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.Helpers; -internal class FileSystemExtensionContainer : IFileSystemExtensionContainer +internal class FileSystemExtensibility : IFileSystemExtensibility { private readonly Dictionary _metadata = new(); - /// - public bool HasWrappedInstance([NotNullWhen(true)] out T? wrappedInstance) + /// + public bool TryGetWrappedInstance([NotNullWhen(true)] out T? wrappedInstance) { wrappedInstance = default; return false; } - /// + /// public void StoreMetadata(string key, T? value) { _metadata[key] = value; } - /// + /// public T? RetrieveMetadata(string key) { if (_metadata.TryGetValue(key, out object? value) && @@ -34,9 +33,9 @@ public void StoreMetadata(string key, T? value) return default; } - internal void CopyMetadataTo(IFileSystemExtensionContainer target) + internal void CopyMetadataTo(IFileSystemExtensibility target) { - if (target is FileSystemExtensionContainer targetContainer) + if (target is FileSystemExtensibility targetContainer) { foreach (KeyValuePair item in _metadata) { diff --git a/Source/Testably.Abstractions.Testing/MockFileSystem.cs b/Source/Testably.Abstractions.Testing/MockFileSystem.cs index d15a330a4..998c91f66 100644 --- a/Source/Testably.Abstractions.Testing/MockFileSystem.cs +++ b/Source/Testably.Abstractions.Testing/MockFileSystem.cs @@ -1,6 +1,5 @@ using Microsoft.Win32.SafeHandles; using System; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; using Testably.Abstractions.Testing.Storage; @@ -116,7 +115,7 @@ public IPath Path /// The defines a method that receives two values and allows or denies access: ///
/// - The full path of the file or directory as first parameter
- /// - The as second parameter + /// - The as second parameter ///
public MockFileSystem WithAccessControlStrategy(IAccessControlStrategy accessControlStrategy) { diff --git a/Source/Testably.Abstractions.Testing/Polyfills/FileFeatureExtensionMethods.cs b/Source/Testably.Abstractions.Testing/Polyfills/FileFeatureExtensionMethods.cs index ebf523e01..5e656a4c9 100644 --- a/Source/Testably.Abstractions.Testing/Polyfills/FileFeatureExtensionMethods.cs +++ b/Source/Testably.Abstractions.Testing/Polyfills/FileFeatureExtensionMethods.cs @@ -1,6 +1,6 @@ #if !FEATURE_PATH_ADVANCED using System.Diagnostics.CodeAnalysis; -using Testably.Abstractions.FileSystem; + using Testably.Abstractions.Testing.Helpers; // ReSharper disable once CheckNamespace diff --git a/Source/Testably.Abstractions.Testing/RandomSystem/RandomFactoryMock.cs b/Source/Testably.Abstractions.Testing/RandomSystem/RandomFactoryMock.cs index f5ba07d54..dd62c334b 100644 --- a/Source/Testably.Abstractions.Testing/RandomSystem/RandomFactoryMock.cs +++ b/Source/Testably.Abstractions.Testing/RandomSystem/RandomFactoryMock.cs @@ -13,7 +13,7 @@ internal RandomFactoryMock(MockRandomSystem randomSystem) #region IRandomFactory Members - /// + /// public IRandomSystem RandomSystem => _mockRandomSystem; /// diff --git a/Source/Testably.Abstractions.Testing/Storage/IStorage.cs b/Source/Testably.Abstractions.Testing/Storage/IStorage.cs index b6aba2cd3..700121623 100644 --- a/Source/Testably.Abstractions.Testing/Storage/IStorage.cs +++ b/Source/Testably.Abstractions.Testing/Storage/IStorage.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; namespace Testably.Abstractions.Testing.Storage; @@ -121,13 +120,11 @@ IEnumerable EnumerateLocations( ///
/// The location at which to get or create the container. /// The callback used to create a new container at . - /// + /// /// The container at . IStorageContainer GetOrCreateContainer(IStorageLocation location, - Func containerGenerator, - IFileSystemExtensionContainer? - fileSystemExtensionContainer = null); + Func containerGenerator, + IFileSystemExtensibility? fileSystemExtensibility = null); /// /// Moves a specified file or directory to a new location and potentially a new file name.
diff --git a/Source/Testably.Abstractions.Testing/Storage/IStorageContainer.cs b/Source/Testably.Abstractions.Testing/Storage/IStorageContainer.cs index d7c462e25..629109316 100644 --- a/Source/Testably.Abstractions.Testing/Storage/IStorageContainer.cs +++ b/Source/Testably.Abstractions.Testing/Storage/IStorageContainer.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.TimeSystem; namespace Testably.Abstractions.Testing.Storage; @@ -8,8 +7,8 @@ namespace Testably.Abstractions.Testing.Storage; /// /// A container for a stored file or directory in the . /// -internal interface IStorageContainer : IFileSystemExtensionPoint, - ITimeSystemExtensionPoint +internal interface IStorageContainer : IFileSystemEntity, + ITimeSystemEntity { /// FileAttributes Attributes { get; set; } @@ -20,7 +19,7 @@ internal interface IStorageContainer : IFileSystemExtensionPoint, /// /// A container to support extensions on . /// - IFileSystemExtensionContainer ExtensionContainer { get; } + IFileSystemExtensibility Extensibility { get; } /// ITimeContainer LastAccessTime { get; } diff --git a/Source/Testably.Abstractions.Testing/Storage/IStorageDrive.cs b/Source/Testably.Abstractions.Testing/Storage/IStorageDrive.cs index 5f69637eb..ed35c5d6b 100644 --- a/Source/Testably.Abstractions.Testing/Storage/IStorageDrive.cs +++ b/Source/Testably.Abstractions.Testing/Storage/IStorageDrive.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; namespace Testably.Abstractions.Testing.Storage; diff --git a/Source/Testably.Abstractions.Testing/Storage/IStorageLocation.cs b/Source/Testably.Abstractions.Testing/Storage/IStorageLocation.cs index b36c6eaab..0cee3efd1 100644 --- a/Source/Testably.Abstractions.Testing/Storage/IStorageLocation.cs +++ b/Source/Testably.Abstractions.Testing/Storage/IStorageLocation.cs @@ -1,5 +1,4 @@ using System; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Testing.Storage; diff --git a/Source/Testably.Abstractions.Testing/Storage/InMemoryContainer.cs b/Source/Testably.Abstractions.Testing/Storage/InMemoryContainer.cs index 5bf820333..ac95ee3fe 100644 --- a/Source/Testably.Abstractions.Testing/Storage/InMemoryContainer.cs +++ b/Source/Testably.Abstractions.Testing/Storage/InMemoryContainer.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.TimeSystem; @@ -19,7 +18,7 @@ internal class InMemoryContainer : IStorageContainer private readonly MockFileSystem _fileSystem; private bool _isEncrypted; private readonly IStorageLocation _location; - private readonly FileSystemExtensionContainer _extensionContainer = new(); + private readonly FileSystemExtensibility _extensibility = new(); public InMemoryContainer(FileSystemTypes type, IStorageLocation location, @@ -63,11 +62,11 @@ public FileAttributes Attributes /// public ITimeContainer CreationTime { get; } = new TimeContainer(); - /// - public IFileSystemExtensionContainer ExtensionContainer - => _extensionContainer; + /// + public IFileSystemExtensibility Extensibility + => _extensibility; - /// + /// public IFileSystem FileSystem => _fileSystem; /// @@ -79,7 +78,7 @@ public IFileSystemExtensionContainer ExtensionContainer /// public string? LinkTarget { get; set; } - /// + /// public ITimeSystem TimeSystem => _fileSystem.TimeSystem; /// @@ -157,7 +156,7 @@ public IStorageAccessHandle RequestAccess(FileAccess access, FileShare share, () => throw ExceptionFactory.AccessToPathDenied()); if (!_fileSystem.AccessControlStrategy - .IsAccessGranted(_location.FullPath, ExtensionContainer)) + .IsAccessGranted(_location.FullPath, Extensibility)) { throw ExceptionFactory.AclAccessToPathDenied(_location.FullPath); } diff --git a/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs b/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs index aa6d63960..01c2e5821 100644 --- a/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs +++ b/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs @@ -4,7 +4,6 @@ using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; using Testably.Abstractions.Testing.Helpers; @@ -132,7 +131,7 @@ public bool DeleteContainer(IStorageLocation location, bool recursive = false) _fileSystem.ChangeHandler.NotifyPendingChange(WatcherChangeTypes.Deleted, container.Type, notifyFilters, location); - + using (container.RequestAccess(FileAccess.Write, FileShare.ReadWrite, deleteAccess: true)) { @@ -280,7 +279,7 @@ public IStorageDrive GetOrAddDrive(string driveName) public IStorageContainer GetOrCreateContainer( IStorageLocation location, Func containerGenerator, - IFileSystemExtensionContainer? fileSystemExtensionContainer = null) + IFileSystemExtensibility? fileSystemExtensibility = null) { ChangeDescription? fileSystemChange = null; IStorageContainer container = _containers.GetOrAdd(location, @@ -288,8 +287,8 @@ public IStorageContainer GetOrCreateContainer( { IStorageContainer container = containerGenerator.Invoke(loc, _fileSystem); - (fileSystemExtensionContainer as FileSystemExtensionContainer)? - .CopyMetadataTo(container.ExtensionContainer); + (fileSystemExtensibility as FileSystemExtensibility)? + .CopyMetadataTo(container.Extensibility); if (container.Type == FileSystemTypes.Directory) { CreateParents(_fileSystem, loc); @@ -305,7 +304,7 @@ public IStorageContainer GetOrCreateContainer( } CheckAndAdjustParentDirectoryTimes(loc); - + using (container.RequestAccess(FileAccess.Write, FileShare.ReadWrite)) { fileSystemChange = _fileSystem.ChangeHandler.NotifyPendingChange( @@ -372,7 +371,7 @@ public IStorageContainer GetOrCreateContainer( { throw ExceptionFactory.AccessToPathDenied(source.FullPath); } - + using (_ = sourceContainer.RequestAccess(FileAccess.ReadWrite, FileShare.None, ignoreMetadataErrors: ignoreMetadataErrors)) { @@ -536,7 +535,7 @@ private void CreateParents(MockFileSystem fileSystem, IStorageLocation location) { IStorageContainer container = InMemoryContainer.NewDirectory(loc, _fileSystem); - + accessHandles.Add(container.RequestAccess(FileAccess.Write, FileShare.ReadWrite)); fileSystemChange = @@ -588,7 +587,7 @@ private void CreateParents(MockFileSystem fileSystem, IStorageLocation location) { throw ExceptionFactory.DirectoryNotEmpty(source.FullPath); } - + using (container.RequestAccess(FileAccess.Write, FileShare.None, hResult: sourceType == FileSystemTypes.Directory ? -2147024891 : -2147024864)) { diff --git a/Source/Testably.Abstractions.Testing/Storage/NullContainer.cs b/Source/Testably.Abstractions.Testing/Storage/NullContainer.cs index 8a4c3fec4..abf9ab117 100644 --- a/Source/Testably.Abstractions.Testing/Storage/NullContainer.cs +++ b/Source/Testably.Abstractions.Testing/Storage/NullContainer.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.TimeSystem; @@ -12,7 +11,7 @@ private NullContainer(IFileSystem fileSystem, ITimeSystem timeSystem) { FileSystem = fileSystem; TimeSystem = timeSystem; - ExtensionContainer = new FileSystemExtensionContainer(); + Extensibility = new FileSystemExtensibility(); } #region IStorageContainer Members @@ -28,10 +27,10 @@ public FileAttributes Attributes public IStorageContainer.ITimeContainer CreationTime { get; } = new CreationNullTime(); - /// - public IFileSystemExtensionContainer ExtensionContainer { get; } + /// + public IFileSystemExtensibility Extensibility { get; } - /// + /// public IFileSystem FileSystem { get; } /// @@ -47,7 +46,7 @@ public string? LinkTarget set => _ = value; } - /// + /// public ITimeSystem TimeSystem { get; } /// diff --git a/Source/Testably.Abstractions.Testing/TimeSystem/DateTimeMock.cs b/Source/Testably.Abstractions.Testing/TimeSystem/DateTimeMock.cs index cb218b3e1..08502c110 100644 --- a/Source/Testably.Abstractions.Testing/TimeSystem/DateTimeMock.cs +++ b/Source/Testably.Abstractions.Testing/TimeSystem/DateTimeMock.cs @@ -36,7 +36,7 @@ public DateTime Now } } - /// + /// public ITimeSystem TimeSystem => _mockTimeSystem; diff --git a/Source/Testably.Abstractions.Testing/TimeSystem/TaskMock.cs b/Source/Testably.Abstractions.Testing/TimeSystem/TaskMock.cs index fca58296d..6c1c0739f 100644 --- a/Source/Testably.Abstractions.Testing/TimeSystem/TaskMock.cs +++ b/Source/Testably.Abstractions.Testing/TimeSystem/TaskMock.cs @@ -20,7 +20,7 @@ internal TaskMock(MockTimeSystem timeSystem, #region ITask Members - /// + /// public ITimeSystem TimeSystem => _mockTimeSystem; diff --git a/Source/Testably.Abstractions.Testing/TimeSystem/ThreadMock.cs b/Source/Testably.Abstractions.Testing/TimeSystem/ThreadMock.cs index 97c198db1..3f4a826a3 100644 --- a/Source/Testably.Abstractions.Testing/TimeSystem/ThreadMock.cs +++ b/Source/Testably.Abstractions.Testing/TimeSystem/ThreadMock.cs @@ -19,7 +19,7 @@ internal ThreadMock(MockTimeSystem timeSystem, #region IThread Members - /// + /// public ITimeSystem TimeSystem => _mockTimeSystem; diff --git a/Source/Testably.Abstractions.Testing/Usings.cs b/Source/Testably.Abstractions.Testing/Usings.cs index acb44645c..f15db6c3f 100644 --- a/Source/Testably.Abstractions.Testing/Usings.cs +++ b/Source/Testably.Abstractions.Testing/Usings.cs @@ -3,3 +3,4 @@ #else global using System.Runtime.Versioning; #endif +global using Testably.Abstractions.FileSystem; diff --git a/Source/Testably.Abstractions/FileSystem/DirectoryInfoFactory.cs b/Source/Testably.Abstractions/FileSystem/DirectoryInfoFactory.cs index 39f46a273..f4cfc5518 100644 --- a/Source/Testably.Abstractions/FileSystem/DirectoryInfoFactory.cs +++ b/Source/Testably.Abstractions/FileSystem/DirectoryInfoFactory.cs @@ -12,7 +12,7 @@ internal DirectoryInfoFactory(RealFileSystem fileSystem) #region IDirectoryInfoFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/DirectoryWrapper.cs b/Source/Testably.Abstractions/FileSystem/DirectoryWrapper.cs index 3273f836c..3a66c5af6 100644 --- a/Source/Testably.Abstractions/FileSystem/DirectoryWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/DirectoryWrapper.cs @@ -14,7 +14,7 @@ internal DirectoryWrapper(RealFileSystem fileSystem) #region IDirectory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/DriveInfoFactory.cs b/Source/Testably.Abstractions/FileSystem/DriveInfoFactory.cs index 07d2fcdb0..83bdee3fa 100644 --- a/Source/Testably.Abstractions/FileSystem/DriveInfoFactory.cs +++ b/Source/Testably.Abstractions/FileSystem/DriveInfoFactory.cs @@ -13,7 +13,7 @@ internal DriveInfoFactory(RealFileSystem fileSystem) #region IDriveInfoFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/DriveInfoWrapper.cs b/Source/Testably.Abstractions/FileSystem/DriveInfoWrapper.cs index 2c52f7f64..265ead3c6 100644 --- a/Source/Testably.Abstractions/FileSystem/DriveInfoWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/DriveInfoWrapper.cs @@ -27,7 +27,7 @@ public string DriveFormat public DriveType DriveType => _instance.DriveType; - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/FileInfoFactory.cs b/Source/Testably.Abstractions/FileSystem/FileInfoFactory.cs index 65660b482..14ac45803 100644 --- a/Source/Testably.Abstractions/FileSystem/FileInfoFactory.cs +++ b/Source/Testably.Abstractions/FileSystem/FileInfoFactory.cs @@ -12,7 +12,7 @@ internal FileInfoFactory(RealFileSystem fileSystem) #region IFileInfoFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/FileStreamFactory.cs b/Source/Testably.Abstractions/FileSystem/FileStreamFactory.cs index 872ca5645..55ff1b24d 100644 --- a/Source/Testably.Abstractions/FileSystem/FileStreamFactory.cs +++ b/Source/Testably.Abstractions/FileSystem/FileStreamFactory.cs @@ -15,7 +15,7 @@ internal FileStreamFactory(RealFileSystem fileSystem) #region IFileStreamFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/FileStreamWrapper.cs b/Source/Testably.Abstractions/FileSystem/FileStreamWrapper.cs index 448250c66..2a754edfc 100644 --- a/Source/Testably.Abstractions/FileSystem/FileStreamWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/FileStreamWrapper.cs @@ -8,11 +8,11 @@ public FileStreamWrapper(FileStream fileStream) : base(fileStream, fileStream.Name, fileStream.IsAsync) { - ExtensionContainer = new FileSystemExtensionContainer(fileStream); + Extensibility = new FileSystemExtensibility(fileStream); } - /// - public override IFileSystemExtensionContainer ExtensionContainer + /// + public override IFileSystemExtensibility Extensibility { get; } diff --git a/Source/Testably.Abstractions/FileSystem/FileSystemExtensionContainer.cs b/Source/Testably.Abstractions/FileSystem/FileSystemExtensibility.cs similarity index 75% rename from Source/Testably.Abstractions/FileSystem/FileSystemExtensionContainer.cs rename to Source/Testably.Abstractions/FileSystem/FileSystemExtensibility.cs index 0c5fe7d6f..b6965b179 100644 --- a/Source/Testably.Abstractions/FileSystem/FileSystemExtensionContainer.cs +++ b/Source/Testably.Abstractions/FileSystem/FileSystemExtensibility.cs @@ -3,18 +3,18 @@ namespace Testably.Abstractions.FileSystem; -internal class FileSystemExtensionContainer : IFileSystemExtensionContainer +internal class FileSystemExtensibility : IFileSystemExtensibility { private readonly object _wrappedInstance; private readonly Dictionary _metadata = new(); - public FileSystemExtensionContainer(object wrappedInstance) + public FileSystemExtensibility(object wrappedInstance) { _wrappedInstance = wrappedInstance; } - /// - public bool HasWrappedInstance([NotNullWhen(true)] out T? wrappedInstance) + /// + public bool TryGetWrappedInstance([NotNullWhen(true)] out T? wrappedInstance) { // ReSharper disable once MergeCastWithTypeCheck -- Not possible due to nullable wrappedInstance = _wrappedInstance is T? diff --git a/Source/Testably.Abstractions/FileSystem/FileSystemInfoWrapper.cs b/Source/Testably.Abstractions/FileSystem/FileSystemInfoWrapper.cs index d96594fd8..81be97699 100644 --- a/Source/Testably.Abstractions/FileSystem/FileSystemInfoWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/FileSystemInfoWrapper.cs @@ -13,7 +13,7 @@ internal FileSystemInfoWrapper(FileSystemInfo instance, IFileSystem fileSystem) { _instance = instance; _fileSystem = fileSystem; - ExtensionContainer = new FileSystemExtensionContainer(_instance); + Extensibility = new FileSystemExtensibility(_instance); } #region IFileSystemInfo Members @@ -47,8 +47,12 @@ public bool Exists public string Extension => _instance.Extension; - /// - public IFileSystemExtensionContainer ExtensionContainer { get; } + /// + public IFileSystemExtensibility Extensibility { get; } + + /// + public IFileSystem FileSystem + => _fileSystem; /// public string FullName diff --git a/Source/Testably.Abstractions/FileSystem/FileSystemWatcherFactory.cs b/Source/Testably.Abstractions/FileSystem/FileSystemWatcherFactory.cs index de1c23ce0..dcbf06a2c 100644 --- a/Source/Testably.Abstractions/FileSystem/FileSystemWatcherFactory.cs +++ b/Source/Testably.Abstractions/FileSystem/FileSystemWatcherFactory.cs @@ -12,7 +12,7 @@ internal FileSystemWatcherFactory(RealFileSystem fileSystem) #region IFileSystemWatcherFactory Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/FileSystem/FileSystemWatcherWrapper.cs b/Source/Testably.Abstractions/FileSystem/FileSystemWatcherWrapper.cs index 8f2f31129..bd0165b08 100644 --- a/Source/Testably.Abstractions/FileSystem/FileSystemWatcherWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/FileSystemWatcherWrapper.cs @@ -32,7 +32,7 @@ public bool EnableRaisingEvents set => _instance.EnableRaisingEvents = value; } - /// + /// public IFileSystem FileSystem { get; } /// @@ -138,19 +138,19 @@ public void EndInit() => _instance.EndInit(); /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged( + public IWaitForChangedResult WaitForChanged( WatcherChangeTypes changeType) => new WaitForChangedResultWrapper(_instance.WaitForChanged(changeType)); /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged( + public IWaitForChangedResult WaitForChanged( WatcherChangeTypes changeType, int timeout) => new WaitForChangedResultWrapper( _instance.WaitForChanged(changeType, timeout)); #if FEATURE_FILESYSTEM_NET7 /// - public IFileSystemWatcher.IWaitForChangedResult WaitForChanged(WatcherChangeTypes changeType, + public IWaitForChangedResult WaitForChanged(WatcherChangeTypes changeType, TimeSpan timeout) => new WaitForChangedResultWrapper( _instance.WaitForChanged(changeType, timeout)); @@ -171,7 +171,7 @@ public IFileSystemWatcher.IWaitForChangedResult WaitForChanged(WatcherChangeType } private readonly struct WaitForChangedResultWrapper - : IFileSystemWatcher.IWaitForChangedResult + : IWaitForChangedResult { private readonly WaitForChangedResult _instance; @@ -180,19 +180,19 @@ public WaitForChangedResultWrapper(WaitForChangedResult instance) _instance = instance; } - /// + /// public WatcherChangeTypes ChangeType => _instance.ChangeType; - /// + /// public string? Name => _instance.Name; - /// + /// public string? OldName => _instance.OldName; - /// + /// public bool TimedOut => _instance.TimedOut; } diff --git a/Source/Testably.Abstractions/FileSystem/FileWrapper.cs b/Source/Testably.Abstractions/FileSystem/FileWrapper.cs index 4d6287da3..6257dc194 100644 --- a/Source/Testably.Abstractions/FileSystem/FileWrapper.cs +++ b/Source/Testably.Abstractions/FileSystem/FileWrapper.cs @@ -1,11 +1,11 @@ -#if FEATURE_FILESYSTEM_SAFEFILEHANDLE -using Microsoft.Win32.SafeHandles; -#endif -using System; +using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Text; +#if FEATURE_FILESYSTEM_SAFEFILEHANDLE +using Microsoft.Win32.SafeHandles; +#endif #if FEATURE_FILESYSTEM_ASYNC using System.Threading; using System.Threading.Tasks; @@ -22,7 +22,7 @@ internal FileWrapper(RealFileSystem fileSystem) #region IFile Members - /// + /// public IFileSystem FileSystem { get; } /// diff --git a/Source/Testably.Abstractions/RandomSystem/RandomFactory.cs b/Source/Testably.Abstractions/RandomSystem/RandomFactory.cs index 8aaff7da7..3f241af60 100644 --- a/Source/Testably.Abstractions/RandomSystem/RandomFactory.cs +++ b/Source/Testably.Abstractions/RandomSystem/RandomFactory.cs @@ -15,7 +15,7 @@ internal RandomFactory(RealRandomSystem timeSystem) #region IRandomFactory Members - /// + /// public IRandomSystem RandomSystem { get; } /// diff --git a/Source/Testably.Abstractions/TimeSystem/DateTimeWrapper.cs b/Source/Testably.Abstractions/TimeSystem/DateTimeWrapper.cs index eddbd834f..f6c3d7eb0 100644 --- a/Source/Testably.Abstractions/TimeSystem/DateTimeWrapper.cs +++ b/Source/Testably.Abstractions/TimeSystem/DateTimeWrapper.cs @@ -40,7 +40,7 @@ public DateTime UtcNow public DateTime Today => DateTime.Today; - /// + /// public ITimeSystem TimeSystem { get; } #endregion diff --git a/Source/Testably.Abstractions/TimeSystem/TaskWrapper.cs b/Source/Testably.Abstractions/TimeSystem/TaskWrapper.cs index f7dd1ec35..54e6e32e0 100644 --- a/Source/Testably.Abstractions/TimeSystem/TaskWrapper.cs +++ b/Source/Testably.Abstractions/TimeSystem/TaskWrapper.cs @@ -13,7 +13,7 @@ internal TaskWrapper(RealTimeSystem timeSystem) #region ITask Members - /// + /// public ITimeSystem TimeSystem { get; } /// diff --git a/Source/Testably.Abstractions/TimeSystem/ThreadWrapper.cs b/Source/Testably.Abstractions/TimeSystem/ThreadWrapper.cs index 945a1146f..10c22c4fc 100644 --- a/Source/Testably.Abstractions/TimeSystem/ThreadWrapper.cs +++ b/Source/Testably.Abstractions/TimeSystem/ThreadWrapper.cs @@ -12,7 +12,7 @@ internal ThreadWrapper(RealTimeSystem timeSystem) #region IThread Members - /// + /// public ITimeSystem TimeSystem { get; } /// diff --git a/Tests/Testably.Abstractions.AccessControl.Tests/FileInfoAclExtensionsTests.cs b/Tests/Testably.Abstractions.AccessControl.Tests/FileInfoAclExtensionsTests.cs index b959a7dce..da55776a0 100644 --- a/Tests/Testably.Abstractions.AccessControl.Tests/FileInfoAclExtensionsTests.cs +++ b/Tests/Testably.Abstractions.AccessControl.Tests/FileInfoAclExtensionsTests.cs @@ -1,6 +1,5 @@ using System.Security.AccessControl; using Testably.Abstractions.AccessControl.Tests.TestHelpers; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.AccessControl.Tests; diff --git a/Tests/Testably.Abstractions.AccessControl.Tests/FileStreamAclExtensionsTests.cs b/Tests/Testably.Abstractions.AccessControl.Tests/FileStreamAclExtensionsTests.cs index d54358f53..25bfe3499 100644 --- a/Tests/Testably.Abstractions.AccessControl.Tests/FileStreamAclExtensionsTests.cs +++ b/Tests/Testably.Abstractions.AccessControl.Tests/FileStreamAclExtensionsTests.cs @@ -1,6 +1,5 @@ using System.Security.AccessControl; using Testably.Abstractions.AccessControl.Tests.TestHelpers; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.AccessControl.Tests; diff --git a/Tests/Testably.Abstractions.AccessControl.Tests/TestHelpers/Usings.cs b/Tests/Testably.Abstractions.AccessControl.Tests/TestHelpers/Usings.cs index dcc5be452..c3ee3af35 100644 --- a/Tests/Testably.Abstractions.AccessControl.Tests/TestHelpers/Usings.cs +++ b/Tests/Testably.Abstractions.AccessControl.Tests/TestHelpers/Usings.cs @@ -1,5 +1,6 @@ global using FluentAssertions; global using System; +global using Testably.Abstractions.FileSystem; global using Testably.Abstractions.Testing; global using Testably.Abstractions.TestHelpers; global using Xunit; diff --git a/Tests/Testably.Abstractions.Compression.Tests/TestHelpers/Usings.cs b/Tests/Testably.Abstractions.Compression.Tests/TestHelpers/Usings.cs index a675f8771..1ac664d84 100644 --- a/Tests/Testably.Abstractions.Compression.Tests/TestHelpers/Usings.cs +++ b/Tests/Testably.Abstractions.Compression.Tests/TestHelpers/Usings.cs @@ -1,6 +1,7 @@ global using AutoFixture.Xunit2; global using FluentAssertions; global using System; +global using Testably.Abstractions.FileSystem; global using Testably.Abstractions.TestHelpers; global using Testably.Abstractions.Testing; global using Xunit; diff --git a/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.Extensions.cs b/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.Extensions.cs index c6980c3e1..c4adf2719 100644 --- a/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.Extensions.cs +++ b/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.Extensions.cs @@ -1,7 +1,6 @@ using System.IO; using System.IO.Compression; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Compression.Tests.ZipArchive; diff --git a/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.cs b/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.cs index 42d3de0dc..7c5b9032e 100644 --- a/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.cs +++ b/Tests/Testably.Abstractions.Compression.Tests/ZipArchive/ZipArchiveTests.cs @@ -1,6 +1,5 @@ using System.IO.Compression; #if FEATURE_ZIPFILE_NET7 -using Testably.Abstractions.FileSystem; #endif namespace Testably.Abstractions.Compression.Tests.ZipArchive; diff --git a/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.Extensions.cs b/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.Extensions.cs index fa3b5af30..374e5dbe6 100644 --- a/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.Extensions.cs +++ b/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.Extensions.cs @@ -1,7 +1,6 @@ using System.IO; using System.IO.Compression; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Compression.Tests.ZipArchiveEntry; diff --git a/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.cs b/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.cs index 02b672b83..3ee2a869f 100644 --- a/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.cs +++ b/Tests/Testably.Abstractions.Compression.Tests/ZipArchiveEntry/ZipArchiveEntryTests.cs @@ -1,7 +1,6 @@ using System.IO; using System.IO.Compression; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Compression.Tests.ZipArchiveEntry; diff --git a/Tests/Testably.Abstractions.Parity.Tests/ParityTests.cs b/Tests/Testably.Abstractions.Parity.Tests/ParityTests.cs index b34d5482a..b2c922199 100644 --- a/Tests/Testably.Abstractions.Parity.Tests/ParityTests.cs +++ b/Tests/Testably.Abstractions.Parity.Tests/ParityTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.IO.Compression; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.RandomSystem; using Xunit.Abstractions; diff --git a/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Parity.cs b/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Parity.cs index 54a0387eb..014bd789e 100644 --- a/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Parity.cs +++ b/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Parity.cs @@ -2,7 +2,6 @@ using System.Collections.ObjectModel; using System.IO; using System.IO.Compression; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Parity.Tests.TestHelpers; diff --git a/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Usings.cs b/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Usings.cs index 1c2653bb4..168110d56 100644 --- a/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Usings.cs +++ b/Tests/Testably.Abstractions.Parity.Tests/TestHelpers/Usings.cs @@ -1,3 +1,4 @@ global using FluentAssertions; global using System; +global using Testably.Abstractions.FileSystem; global using Xunit; diff --git a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DefaultAccessControlStrategyTests.cs b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DefaultAccessControlStrategyTests.cs index 732cc5197..dbd08202a 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DefaultAccessControlStrategyTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DefaultAccessControlStrategyTests.cs @@ -29,7 +29,7 @@ public void IsAccessGranted_ShouldUseCallback() { DefaultAccessControlStrategy sut = new((p, _) => p.StartsWith("a")); - sut.IsAccessGranted("abc", new FileSystemExtensionContainer()).Should().BeTrue(); - sut.IsAccessGranted("xyz", new FileSystemExtensionContainer()).Should().BeFalse(); + sut.IsAccessGranted("abc", new FileSystemExtensibility()).Should().BeTrue(); + sut.IsAccessGranted("xyz", new FileSystemExtensibility()).Should().BeFalse(); } } diff --git a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DriveInfoMockTests.cs b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DriveInfoMockTests.cs index 77092af39..ec4ebd297 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DriveInfoMockTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/DriveInfoMockTests.cs @@ -1,7 +1,6 @@ using System.IO; using System.Linq; using System.Text; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; namespace Testably.Abstractions.Testing.Tests.FileSystem; diff --git a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherFactoryMockTests.cs b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherFactoryMockTests.cs index 63b8fa8c3..86ed95985 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherFactoryMockTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherFactoryMockTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Testing.Tests.FileSystem; diff --git a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherMockTests.cs b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherMockTests.cs index 5d415ba06..2049185ab 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherMockTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/FileSystem/FileSystemWatcherMockTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Testing.Tests.FileSystem; diff --git a/Tests/Testably.Abstractions.Testing.Tests/Helpers/PathHelperTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Helpers/PathHelperTests.cs index f1662f0d3..070ecf281 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/Helpers/PathHelperTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/Helpers/PathHelperTests.cs @@ -1,6 +1,5 @@ using Moq; using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Tests.TestHelpers; diff --git a/Tests/Testably.Abstractions.Testing.Tests/MockFileSystemTests.cs b/Tests/Testably.Abstractions.Testing.Tests/MockFileSystemTests.cs index 42afcdc38..0eb99f1c0 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/MockFileSystemTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/MockFileSystemTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Tests.TestHelpers; diff --git a/Tests/Testably.Abstractions.Testing.Tests/Storage/InMemoryStorageTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Storage/InMemoryStorageTests.cs index e8d2a48cd..525bedc12 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/Storage/InMemoryStorageTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/Storage/InMemoryStorageTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.RandomSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; diff --git a/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/LockableContainer.cs b/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/LockableContainer.cs index df3766533..932c0d604 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/LockableContainer.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/LockableContainer.cs @@ -1,7 +1,6 @@ using System.IO; using System.Linq; using System.Security.AccessControl; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.Helpers; using Testably.Abstractions.Testing.Storage; using Testably.Abstractions.TimeSystem; @@ -47,11 +46,11 @@ public LockableContainer(MockFileSystem fileSystem, public IStorageContainer.ITimeContainer CreationTime { get; } = new InMemoryContainer.TimeContainer(); - /// - public IFileSystemExtensionContainer ExtensionContainer { get; } - = new FileSystemExtensionContainer(); + /// + public IFileSystemExtensibility Extensibility { get; } + = new FileSystemExtensibility(); - /// + /// public IFileSystem FileSystem { get; } /// @@ -65,7 +64,7 @@ public LockableContainer(MockFileSystem fileSystem, /// public string? LinkTarget { get; set; } - /// + /// public ITimeSystem TimeSystem { get; } /// diff --git a/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/Usings.cs b/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/Usings.cs index a6320dd0f..9ef088684 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/Usings.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/TestHelpers/Usings.cs @@ -1,4 +1,5 @@ global using AutoFixture.Xunit2; global using FluentAssertions; global using System; +global using Testably.Abstractions.FileSystem; global using Xunit; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/CreateDirectoryTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/CreateDirectoryTests.cs index 5dbff1ec1..577088025 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/CreateDirectoryTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/CreateDirectoryTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; @@ -245,7 +244,7 @@ public void CreateDirectory_TrailingDirectorySeparator_ShouldNotBeTrimmed( FileSystem.Path.DirectorySeparatorChar, FileSystem.Path.AltDirectorySeparatorChar)); result.FullName.Should().Be(System.IO.Path.Combine(BasePath, expectedName - .Replace(FileSystem.Path.AltDirectorySeparatorChar, + .Replace(FileSystem.Path.AltDirectorySeparatorChar, FileSystem.Path.DirectorySeparatorChar))); FileSystem.Directory.Exists(nameWithSuffix).Should().BeTrue(); } @@ -267,7 +266,7 @@ public void CreateDirectory_EmptyOrWhitespace_ShouldReturnEmptyString( FileSystem.Path.DirectorySeparatorChar, FileSystem.Path.AltDirectorySeparatorChar)); result.FullName.Should().Be(System.IO.Path.Combine(BasePath, expectedName - .Replace(FileSystem.Path.AltDirectorySeparatorChar, + .Replace(FileSystem.Path.AltDirectorySeparatorChar, FileSystem.Path.DirectorySeparatorChar))); FileSystem.Directory.Exists(nameWithSuffix).Should().BeTrue(); } diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/DeleteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/DeleteTests.cs index 70c8c18a0..f7d227186 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/DeleteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/DeleteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/EnumerateDirectoriesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/EnumerateDirectoriesTests.cs index f68124a1b..32f2819de 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/EnumerateDirectoriesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/EnumerateDirectoriesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ExceptionTests.cs index a83e854f5..6ac5188bb 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ExceptionTests.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/GetDirectoriesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/GetDirectoriesTests.cs index f3e969512..1a0f5fe33 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/GetDirectoriesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/GetDirectoriesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/MoveTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/MoveTests.cs index efa392545..6809b4077 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/MoveTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/MoveTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; #if !NETFRAMEWORK #endif diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ResolveLinkTargetTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ResolveLinkTargetTests.cs index 44fcfc586..99d411959 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ResolveLinkTargetTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/ResolveLinkTargetTests.cs @@ -1,6 +1,6 @@ #if FEATURE_FILESYSTEM_LINK using System.IO; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.Times.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.Times.cs index 4e7ce3ed1..eb25a8ef3 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.Times.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.Times.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.cs index 03ce88b4e..29b345af5 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Directory/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.Directory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/AttributesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/AttributesTests.cs index 1a0fb745d..cdf870c6f 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/AttributesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/AttributesTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateSubdirectoryTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateSubdirectoryTests.cs index 75c41063a..37d184e4a 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateSubdirectoryTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateSubdirectoryTests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateTests.cs index 3073c254d..5c01a9a11 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/CreateTests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/DeleteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/DeleteTests.cs index 6fda2cb3a..edb3d17dc 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/DeleteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/DeleteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateDirectoriesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateDirectoriesTests.cs index 92eb2a6f6..3bd701681 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateDirectoriesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateDirectoriesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFileSystemInfosTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFileSystemInfosTests.cs index 9727335be..c33a8e7e9 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFileSystemInfosTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFileSystemInfosTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFilesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFilesTests.cs index 53e8fbb92..9c458a410 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFilesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/EnumerateFilesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExceptionTests.cs index fa2eec027..ebd736e07 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExceptionTests.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExistsTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExistsTests.cs index c27638c08..2731c4a73 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExistsTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/ExistsTests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetDirectoriesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetDirectoriesTests.cs index d3c8318ae..a9cc91a7b 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetDirectoriesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetDirectoriesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFileSystemInfosTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFileSystemInfosTests.cs index 2455e462d..4716424cb 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFileSystemInfosTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFileSystemInfosTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFilesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFilesTests.cs index bf776d24a..4436a6bbe 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFilesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/GetFilesTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/MoveToTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/MoveToTests.cs index 692133445..3db790fd6 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/MoveToTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/MoveToTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; #if !NETFRAMEWORK #endif diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/Tests.cs index 34267eb13..79f716d42 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfo/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/ExceptionTests.cs index e900804d4..4f64bd79b 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/ExceptionTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfoFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/Tests.cs index 6b85dcd0c..acdadc0c2 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DirectoryInfoFactory/Tests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.DirectoryInfoFactory; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfo/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfo/Tests.cs index f7373d6ec..0255c7a33 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfo/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfo/Tests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.DriveInfo; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/ExceptionTests.cs index 6cd95d3e1..30bc06ab1 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/ExceptionTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DriveInfoFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/Tests.cs index cb22dcab5..63b5ed213 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/DriveInfoFactory/Tests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Linq; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.DriveInfoFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/CopyTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/CopyTests.cs index 6f8e356a6..86e185030 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/CopyTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/CopyTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/CreateTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/CreateTests.cs index a977e723e..45f567f2f 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/CreateTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/CreateTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/DeleteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/DeleteTests.cs index 317cbbf73..260c89e32 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/DeleteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/DeleteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionMissingFileTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionMissingFileTests.cs index 988bd9f95..835ae7394 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionMissingFileTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionMissingFileTests.cs @@ -3,8 +3,9 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +#if FEATURE_FILESYSTEM_ASYNC using System.Threading; -using Testably.Abstractions.FileSystem; +#endif namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionTests.cs index a7fd67150..4a5d0eb3c 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/ExceptionTests.cs @@ -3,8 +3,9 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +#if FEATURE_FILESYSTEM_ASYNC using System.Threading; -using Testably.Abstractions.FileSystem; +#endif namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/MoveTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/MoveTests.cs index c6f6b6298..641552228 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/MoveTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/MoveTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenReadTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenReadTests.cs index 3cae5e389..ad7246d77 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenReadTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenReadTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenTests.cs index 7265e3d3a..d469f0fff 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenWriteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenWriteTests.cs index f3aaa3c3a..f3275b56d 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenWriteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/OpenWriteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/ReplaceTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/ReplaceTests.cs index a2c65ecb3..8992dd750 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/ReplaceTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/ReplaceTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/File/ResolveLinkTargetTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/File/ResolveLinkTargetTests.cs index 774e8cbdf..fc7a488d4 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/File/ResolveLinkTargetTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/File/ResolveLinkTargetTests.cs @@ -1,6 +1,6 @@ #if FEATURE_FILESYSTEM_LINK using System.IO; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.File; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/AppendTextTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/AppendTextTests.cs index 9dae9e85d..9a2ece140 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/AppendTextTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/AppendTextTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CopyToTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CopyToTests.cs index 9c11ab467..b5ea400ac 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CopyToTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CopyToTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTests.cs index b8e55adc8..21b38fc3d 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTextTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTextTests.cs index 2502b8e96..7968364c9 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTextTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/CreateTextTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/DeleteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/DeleteTests.cs index f47c879ee..c87c63b55 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/DeleteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/DeleteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/EncryptDecryptTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/EncryptDecryptTests.cs index 72b11b5ad..ff707823b 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/EncryptDecryptTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/EncryptDecryptTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExceptionTests.cs index 074961ae4..91b11e114 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExceptionTests.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExistsTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExistsTests.cs index 1f5407a3b..90bd0d08c 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExistsTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ExistsTests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.FileInfo; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/LengthTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/LengthTests.cs index 1a8cdf71d..7a6fdbc66 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/LengthTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/LengthTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/MoveToTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/MoveToTests.cs index be4e6180b..38c2e0920 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/MoveToTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/MoveToTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenReadTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenReadTests.cs index 76e333549..a2b17e86a 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenReadTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenReadTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTests.cs index 667c82cff..9d52a8811 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; @@ -20,7 +19,7 @@ public void Open_AppendMode_ShouldThrowArgumentException(string path) { _ = sut.Open(FileMode.Append); }); - + exception.Should().BeException(hResult: -2147024809); } #else diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTextTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTextTests.cs index 041b39c3a..c5bdd63a6 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTextTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenTextTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenWriteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenWriteTests.cs index 8bcb41867..43e860a8e 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenWriteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/OpenWriteTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ReplaceTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ReplaceTests.cs index cff56d194..162b02730 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ReplaceTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/ReplaceTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/Tests.cs index fb9daf62c..6ae15157c 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfo/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystemInitializer; namespace Testably.Abstractions.Tests.FileSystem.FileInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/ExceptionTests.cs index 0f9fc153f..eaa1301aa 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/ExceptionTests.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfoFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/Tests.cs index 20665b662..22b085c51 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileInfoFactory/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileInfoFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/AdjustTimesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/AdjustTimesTests.cs index 72dc93c2b..b3d114639 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/AdjustTimesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/AdjustTimesTests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; #if FEATURE_SPAN using System.Threading.Tasks; #endif diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/DisposeTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/DisposeTests.cs index 90bfd9c6e..f6871037e 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/DisposeTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/DisposeTests.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Linq.Expressions; using System.Threading; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStream; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/FileAccessTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/FileAccessTests.cs index 8de6f4f7d..8e6a0be33 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/FileAccessTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/FileAccessTests.cs @@ -3,7 +3,6 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStream; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/OptionsTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/OptionsTests.cs index 767cc8234..7ee3e2379 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/OptionsTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/OptionsTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Text; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStream; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/ReadTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/ReadTests.cs index c7b8bfe50..7b5fb9c44 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/ReadTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/ReadTests.cs @@ -1,5 +1,4 @@ using System.Threading; -using Testably.Abstractions.FileSystem; #if FEATURE_FILESYSTEM_ASYNC using System.Threading.Tasks; #endif diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/Tests.cs index 03c4cb82c..e254324a9 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/Tests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStream; @@ -125,13 +124,13 @@ public async Task CopyToAsync_BufferSizeZero_ShouldThrowArgumentOutOfRangeExcept [SkippableTheory] [AutoData] - public void ExtensionContainer_ShouldWrapFileStreamOnRealFileSystem( + public void Extensibility_ShouldWrapFileStreamOnRealFileSystem( string path) { FileSystem.File.WriteAllText(path, null); using FileSystemStream readStream = FileSystem.File.OpenRead(path); - bool result = readStream.ExtensionContainer - .HasWrappedInstance(out System.IO.FileStream? fileStream); + bool result = readStream.Extensibility + .TryGetWrappedInstance(out System.IO.FileStream? fileStream); if (FileSystem is RealFileSystem) { diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/WriteTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/WriteTests.cs index 01d708332..df5428b68 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/WriteTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStream/WriteTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; #if FEATURE_FILESYSTEM_ASYNC using System.Threading.Tasks; #endif diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/ExceptionTests.cs index be9679e9f..a18f228ce 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/ExceptionTests.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStreamFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/SafeFileHandleTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/SafeFileHandleTests.cs index 69402e6d9..51f1a76ab 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/SafeFileHandleTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/SafeFileHandleTests.cs @@ -2,7 +2,6 @@ using Microsoft.Win32.SafeHandles; using System.IO; using System.Text; -using Testably.Abstractions.FileSystem; using Testably.Abstractions.Testing.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStreamFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/Tests.cs index 98c4d8140..0233ae24b 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileStreamFactory/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileStreamFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/CreateAsSymbolicLinkTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/CreateAsSymbolicLinkTests.cs index d8b1ea0cf..d64775cb7 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/CreateAsSymbolicLinkTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/CreateAsSymbolicLinkTests.cs @@ -1,6 +1,6 @@ #if FEATURE_FILESYSTEM_LINK using System.IO; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.FileSystemInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ExceptionTests.cs index ce22b7539..14298b74d 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ExceptionTests.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.FileSystemInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ResolveLinkTargetTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ResolveLinkTargetTests.cs index 15e289114..1b4612d8a 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ResolveLinkTargetTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/ResolveLinkTargetTests.cs @@ -1,6 +1,6 @@ #if FEATURE_FILESYSTEM_LINK using System.IO; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.FileSystemInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/Tests.cs index 8aeb340ee..4d7ccff09 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemInfo; @@ -10,13 +9,13 @@ public abstract partial class Tests { [SkippableTheory] [AutoData] - public void ExtensionContainer_ShouldWrapFileSystemInfoOnRealFileSystem( + public void Extensibility_ShouldWrapFileSystemInfoOnRealFileSystem( string path) { FileSystem.File.WriteAllText(path, null); IFileInfo fileInfo = FileSystem.FileInfo.New(path); - bool result = fileInfo.ExtensionContainer - .HasWrappedInstance(out System.IO.FileSystemInfo? fileSystemInfo); + bool result = fileInfo.Extensibility + .TryGetWrappedInstance(out System.IO.FileSystemInfo? fileSystemInfo); if (FileSystem is RealFileSystem) { diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/UnixFileModeTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/UnixFileModeTests.cs index 7e43391a0..62d8dc859 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/UnixFileModeTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemInfo/UnixFileModeTests.cs @@ -1,6 +1,6 @@ #if FEATURE_FILESYSTEM_UNIXFILEMODE using System.IO; -using Testably.Abstractions.FileSystem; + namespace Testably.Abstractions.Tests.FileSystem.FileSystemInfo; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.ExtensionContainer.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.Extensibility.cs similarity index 51% rename from Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.ExtensionContainer.cs rename to Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.Extensibility.cs index 46fde3fc3..5697edd81 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.ExtensionContainer.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemTests.Extensibility.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem; public abstract partial class FileSystemTests @@ -8,11 +6,11 @@ public abstract partial class FileSystemTests [SkippableTheory] [AutoData] public void - ExtensionContainer_HasWrappedInstance_WithCorrectType_ShouldReturnTrueOnRealFileSystem( + Extensibility_HasWrappedInstance_WithCorrectType_ShouldReturnTrueOnRealFileSystem( string name) { - bool result = FileSystem.FileInfo.New(name).ExtensionContainer - .HasWrappedInstance(out System.IO.FileInfo? fileInfo); + bool result = FileSystem.FileInfo.New(name).Extensibility + .TryGetWrappedInstance(out System.IO.FileInfo? fileInfo); if (FileSystem is RealFileSystem) { @@ -28,11 +26,11 @@ public void [SkippableTheory] [AutoData] public void - ExtensionContainer_HasWrappedInstance_WithIncorrectType_ShouldReturnAlwaysFalse( + Extensibility_HasWrappedInstance_WithIncorrectType_ShouldReturnAlwaysFalse( string name) { - bool result = FileSystem.FileInfo.New(name).ExtensionContainer - .HasWrappedInstance(out System.IO.DirectoryInfo? directoryInfo); + bool result = FileSystem.FileInfo.New(name).Extensibility + .TryGetWrappedInstance(out System.IO.DirectoryInfo? directoryInfo); result.Should().BeFalse(); directoryInfo.Should().BeNull(); @@ -41,11 +39,11 @@ public void [SkippableTheory] [AutoData] public void - ExtensionContainer_RetrieveMetadata_CorrectKeyAndType_ShouldReturnStoredValue( + Extensibility_RetrieveMetadata_CorrectKeyAndType_ShouldReturnStoredValue( string name, DateTime time) { - IFileSystemExtensionContainer sut = FileSystem.FileInfo.New(name) - .ExtensionContainer; + IFileSystemExtensibility sut = FileSystem.FileInfo.New(name) + .Extensibility; sut.StoreMetadata("foo", time); DateTime? result = sut.RetrieveMetadata("foo"); @@ -55,11 +53,11 @@ public void [SkippableTheory] [AutoData] - public void ExtensionContainer_RetrieveMetadata_DifferentKey_ShouldReturnNull( + public void Extensibility_RetrieveMetadata_DifferentKey_ShouldReturnNull( string name) { - IFileSystemExtensionContainer sut = FileSystem.FileInfo.New(name) - .ExtensionContainer; + IFileSystemExtensibility sut = FileSystem.FileInfo.New(name) + .Extensibility; sut.StoreMetadata("foo", DateTime.Now); DateTime? result = sut.RetrieveMetadata("bar"); @@ -69,11 +67,11 @@ public void ExtensionContainer_RetrieveMetadata_DifferentKey_ShouldReturnNull( [SkippableTheory] [AutoData] - public void ExtensionContainer_RetrieveMetadata_DifferentType_ShouldReturnNull( + public void Extensibility_RetrieveMetadata_DifferentType_ShouldReturnNull( string name) { - IFileSystemExtensionContainer sut = FileSystem.FileInfo.New(name) - .ExtensionContainer; + IFileSystemExtensibility sut = FileSystem.FileInfo.New(name) + .Extensibility; sut.StoreMetadata("foo", DateTime.Now); TimeSpan? result = sut.RetrieveMetadata("foo"); @@ -83,10 +81,10 @@ public void ExtensionContainer_RetrieveMetadata_DifferentType_ShouldReturnNull( [SkippableTheory] [AutoData] - public void ExtensionContainer_RetrieveMetadata_NotRegisteredKey_ShouldReturnNull( + public void Extensibility_RetrieveMetadata_NotRegisteredKey_ShouldReturnNull( string name) { - object? result = FileSystem.FileInfo.New(name).ExtensionContainer + object? result = FileSystem.FileInfo.New(name).Extensibility .RetrieveMetadata("foo"); result.Should().BeNull(); diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/EnableRaisingEventsTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/EnableRaisingEventsTests.cs index 82e815b3c..84fd78f55 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/EnableRaisingEventsTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/EnableRaisingEventsTests.cs @@ -1,5 +1,4 @@ using System.Threading; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/FilterTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/FilterTests.cs index 0a6967ece..c255e21fd 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/FilterTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/FilterTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; #if FEATURE_FILESYSTEMWATCHER_ADVANCED using System.Collections.Generic; using System.Linq; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/IncludeSubdirectoriesTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/IncludeSubdirectoriesTests.cs index 21b8b39bf..fa60b5a26 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/IncludeSubdirectoriesTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/IncludeSubdirectoriesTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/NotifyFiltersTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/NotifyFiltersTests.cs index 272bfe2de..927caa651 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/NotifyFiltersTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/NotifyFiltersTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Threading; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/PathTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/PathTests.cs index 3c7a2d2f5..dd4e406fa 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/PathTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/PathTests.cs @@ -1,5 +1,3 @@ -using Testably.Abstractions.FileSystem; - namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/Tests.cs index c1a685e5b..a22838a4a 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/Tests.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; @@ -38,7 +37,7 @@ public void BeginInit_ShouldStopListening(string path) FileSystem.Directory.Delete(path); } }); - IFileSystemWatcher.IWaitForChangedResult result = + IWaitForChangedResult result = fileSystemWatcher.WaitForChanged(WatcherChangeTypes.Created, 1000); fileSystemWatcher.EnableRaisingEvents.Should().BeTrue(); @@ -90,7 +89,7 @@ public void EndInit_ShouldRestartListening(string path) FileSystem.Directory.Delete(path); } }); - IFileSystemWatcher.IWaitForChangedResult result = + IWaitForChangedResult result = fileSystemWatcher.WaitForChanged(WatcherChangeTypes.Created, 100); fileSystemWatcher.EnableRaisingEvents.Should().BeTrue(); diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/WaitForChangedTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/WaitForChangedTests.cs index 9ef05116d..878645966 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/WaitForChangedTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcher/WaitForChangedTests.cs @@ -1,7 +1,6 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcher; @@ -35,7 +34,7 @@ public void WaitForChanged_ShouldBlockUntilEventHappens(string path) using (CancellationTokenSource cts = new(5000)) { cts.Token.Register(() => throw new TimeoutException()); - IFileSystemWatcher.IWaitForChangedResult result = + IWaitForChangedResult result = fileSystemWatcher.WaitForChanged(WatcherChangeTypes.Created); fileSystemWatcher.EnableRaisingEvents.Should().BeFalse(); result.TimedOut.Should().BeFalse(); @@ -72,7 +71,7 @@ public void WaitForChanged_Timeout_ShouldReturnTimedOut(string path) FileSystem.Directory.Delete(path); } }); - IFileSystemWatcher.IWaitForChangedResult result = + IWaitForChangedResult result = fileSystemWatcher.WaitForChanged(WatcherChangeTypes.Changed, 100); fileSystemWatcher.EnableRaisingEvents.Should().BeTrue(); diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/ExceptionTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/ExceptionTests.cs index 1d1f21db3..8087e97c8 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/ExceptionTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/ExceptionTests.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcherFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/Tests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/Tests.cs index 31c4757e6..3938c6e60 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/Tests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/FileSystemWatcherFactory/Tests.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.FileSystem.FileSystemWatcherFactory; diff --git a/Tests/Testably.Abstractions.Tests/FileSystem/Path/GetRelativePathTests.cs b/Tests/Testably.Abstractions.Tests/FileSystem/Path/GetRelativePathTests.cs index 43d36fa0d..45ffebc32 100644 --- a/Tests/Testably.Abstractions.Tests/FileSystem/Path/GetRelativePathTests.cs +++ b/Tests/Testably.Abstractions.Tests/FileSystem/Path/GetRelativePathTests.cs @@ -1,5 +1,4 @@ #if FEATURE_PATH_RELATIVE - namespace Testably.Abstractions.Tests.FileSystem.Path; // ReSharper disable once PartialTypeWithSinglePart diff --git a/Tests/Testably.Abstractions.Tests/RandomSystem/GuidTests.cs b/Tests/Testably.Abstractions.Tests/RandomSystem/GuidTests.cs index 02b289f08..9997fede5 100644 --- a/Tests/Testably.Abstractions.Tests/RandomSystem/GuidTests.cs +++ b/Tests/Testably.Abstractions.Tests/RandomSystem/GuidTests.cs @@ -1,5 +1,7 @@ using System.Collections.Concurrent; +#if FEATURE_GUID_PARSE using System.Collections.Generic; +#endif using System.Threading.Tasks; namespace Testably.Abstractions.Tests.RandomSystem; diff --git a/Tests/Testably.Abstractions.Tests/TestHelpers/FileTestHelper.cs b/Tests/Testably.Abstractions.Tests/TestHelpers/FileTestHelper.cs index e3eec2f79..7ee2b2bd4 100644 --- a/Tests/Testably.Abstractions.Tests/TestHelpers/FileTestHelper.cs +++ b/Tests/Testably.Abstractions.Tests/TestHelpers/FileTestHelper.cs @@ -1,5 +1,4 @@ using System.IO; -using Testably.Abstractions.FileSystem; namespace Testably.Abstractions.Tests.TestHelpers; diff --git a/Tests/Testably.Abstractions.Tests/TestHelpers/Polyfills/StringExtensions.cs b/Tests/Testably.Abstractions.Tests/TestHelpers/Polyfills/StringExtensions.cs index b2978196f..ca50e2f26 100644 --- a/Tests/Testably.Abstractions.Tests/TestHelpers/Polyfills/StringExtensions.cs +++ b/Tests/Testably.Abstractions.Tests/TestHelpers/Polyfills/StringExtensions.cs @@ -5,11 +5,11 @@ namespace System; public static class StringExtensions { public static bool Contains(this string @this, string value, - StringComparison comparisonType) + StringComparison comparisonType) { -#pragma warning disable CA2249 // Consider using 'string.Contains' instead of 'string.IndexOf'... this is the implementation of Contains! + #pragma warning disable CA2249 // Consider using 'string.Contains' instead of 'string.IndexOf'... this is the implementation of Contains! return @this.IndexOf(value, comparisonType) >= 0; -#pragma warning restore CA2249 + #pragma warning restore CA2249 } } #endif diff --git a/Tests/Testably.Abstractions.Tests/TestHelpers/Usings.cs b/Tests/Testably.Abstractions.Tests/TestHelpers/Usings.cs index 6f8ea9d7c..a27ae72ea 100644 --- a/Tests/Testably.Abstractions.Tests/TestHelpers/Usings.cs +++ b/Tests/Testably.Abstractions.Tests/TestHelpers/Usings.cs @@ -1,6 +1,7 @@ global using AutoFixture.Xunit2; global using FluentAssertions; global using System; +global using Testably.Abstractions.FileSystem; global using Testably.Abstractions.Testing; global using Testably.Abstractions.TestHelpers; global using Testably.Abstractions.Tests.TestHelpers;