diff --git a/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs b/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs
index c43f7d1e7..577b029f4 100644
--- a/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs
+++ b/Source/Testably.Abstractions.Interface/Helpers/PathSystemBase.cs
@@ -1,9 +1,7 @@
-using System.Diagnostics.CodeAnalysis;
+using System;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.IO.Abstractions;
-#if !NETSTANDARD2_0
-using System;
-#endif
namespace Testably.Abstractions.Helpers;
@@ -12,6 +10,11 @@ namespace Testably.Abstractions.Helpers;
///
/// Implements
///
+#if NETSTANDARD2_0
+[Obsolete]
+#else
+[Obsolete("Will be removed in a future version!")]
+#endif
public abstract class PathSystemBase : IPath
{
///
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs
index a4bfecd7e..e0322ea9b 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryInfoMock.cs
@@ -87,7 +87,7 @@ public IDirectoryInfo CreateSubdirectory(string path)
DirectoryInfoMock directory = New(
_fileSystem.Storage.GetLocation(
- _fileSystem.Path.Combine(FullName, path
+ _fileSystem.Execute.Path.Combine(FullName, path
.EnsureValidFormat(_fileSystem, nameof(path),
_fileSystem.Execute.IsWindows && !_fileSystem.Execute.IsNetFramework))),
_fileSystem);
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs
index 89976e481..5324b4101 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/DirectoryMock.cs
@@ -82,10 +82,10 @@ public IDirectoryInfo CreateTempSubdirectory(string? prefix = null)
do
{
- string localBasePath = _fileSystem.Path.Combine(
- _fileSystem.Path.GetTempPath(),
- (prefix ?? "") + _fileSystem.Path.GetFileNameWithoutExtension(
- _fileSystem.Path.GetRandomFileName()));
+ string localBasePath = _fileSystem.Execute.Path.Combine(
+ _fileSystem.Execute.Path.GetTempPath(),
+ (prefix ?? "") + _fileSystem.Execute.Path.GetFileNameWithoutExtension(
+ _fileSystem.Execute.Path.GetRandomFileName()));
_fileSystem.Execute.OnMac(() => localBasePath = "/private" + localBasePath);
basePath = localBasePath;
} while (_fileSystem.Directory.Exists(basePath));
@@ -361,8 +361,8 @@ public string GetDirectoryRoot(string path)
using IDisposable registration = RegisterMethod(nameof(GetDirectoryRoot),
path);
- return _fileSystem.Path.GetPathRoot(
- _fileSystem.Path.GetFullPath(path)) ??
+ return _fileSystem.Execute.Path.GetPathRoot(
+ _fileSystem.Execute.Path.GetFullPath(path)) ??
throw ExceptionFactory.PathIsEmpty(nameof(path));
}
@@ -584,7 +584,7 @@ public void SetCurrentDirectory(string path)
if (!directoryInfo.Exists)
{
throw ExceptionFactory.DirectoryNotFound(
- FileSystem.Path.GetFullPath(path));
+ _fileSystem.Execute.Path.GetFullPath(path));
}
_fileSystem.Storage.CurrentDirectory = directoryInfo.FullName;
@@ -692,18 +692,18 @@ private static void ThrowMissingFileCreatedTimeException(MockFileSystem fileSyst
fileSystem.Execute.OnMac(
() =>
throw ExceptionFactory.DirectoryNotFound(
- fileSystem.Path.GetFullPath(path)),
+ fileSystem.Execute.Path.GetFullPath(path)),
() =>
throw ExceptionFactory.FileNotFound(
- fileSystem.Path.GetFullPath(path)));
+ fileSystem.Execute.Path.GetFullPath(path)));
#else
fileSystem.Execute.OnWindows(
() =>
throw ExceptionFactory.FileNotFound(
- fileSystem.Path.GetFullPath(path)),
+ fileSystem.Execute.Path.GetFullPath(path)),
() =>
throw ExceptionFactory.DirectoryNotFound(
- fileSystem.Path.GetFullPath(path)));
+ fileSystem.Execute.Path.GetFullPath(path)));
#endif
}
@@ -713,15 +713,15 @@ private static void ThrowMissingFileLastAccessOrLastWriteTimeException(
{
#if NET7_0_OR_GREATER
throw ExceptionFactory.FileNotFound(
- fileSystem.Path.GetFullPath(path));
+ fileSystem.Execute.Path.GetFullPath(path));
#else
fileSystem.Execute.OnWindows(
() =>
throw ExceptionFactory.FileNotFound(
- fileSystem.Path.GetFullPath(path)),
+ fileSystem.Execute.Path.GetFullPath(path)),
() =>
throw ExceptionFactory.DirectoryNotFound(
- fileSystem.Path.GetFullPath(path)));
+ fileSystem.Execute.Path.GetFullPath(path)));
#endif
}
}
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs
index 098e7fc70..fe396c8a8 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/DriveInfoMock.cs
@@ -46,7 +46,7 @@ private DriveInfoMock(string driveName, MockFileSystem fileSystem)
if (driveName.IsUncPath(_fileSystem))
{
IsUncPath = true;
- driveName = new string(fileSystem.Path.DirectorySeparatorChar, 2) +
+ driveName = new string(fileSystem.Execute.Path.DirectorySeparatorChar, 2) +
GetTopmostParentDirectory(driveName.Substring(2));
}
else
@@ -259,7 +259,7 @@ private string GetTopmostParentDirectory(string path)
{
while (true)
{
- string? child = FileSystem.Path.GetDirectoryName(path);
+ string? child = _fileSystem.Execute.Path.GetDirectoryName(path);
if (string.IsNullOrEmpty(child))
{
break;
@@ -283,14 +283,14 @@ private static string ValidateDriveLetter(string driveName,
return $"{driveName.ToUpperInvariant()}:\\";
}
- if (fileSystem.Path.IsPathRooted(driveName))
+ if (fileSystem.Execute.Path.IsPathRooted(driveName))
{
return fileSystem.Execute.OnWindows(() =>
{
- string rootedPath = fileSystem.Path.GetPathRoot(driveName)!;
+ string rootedPath = fileSystem.Execute.Path.GetPathRoot(driveName)!;
return $"{rootedPath.TrimEnd('\\')}\\";
},
- () => fileSystem.Path.GetPathRoot(driveName)!);
+ () => fileSystem.Execute.Path.GetPathRoot(driveName)!);
}
throw ExceptionFactory.InvalidDriveName();
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs
index 348c0d6fa..e172f1895 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/FileInfoMock.cs
@@ -113,7 +113,7 @@ public override string Name
{
using IDisposable registration = RegisterProperty(nameof(Name), PropertyAccess.Get);
- if (Location.FullPath.EndsWith(FileSystem.Path.DirectorySeparatorChar))
+ if (Location.FullPath.EndsWith(_fileSystem.Execute.Path.DirectorySeparatorChar))
{
return string.Empty;
}
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs
index 2ba2fbe2d..0b410bb80 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs
@@ -188,7 +188,7 @@ private FileStreamMock(MemoryStream stream,
FileOptions options)
: base(
stream,
- path == null ? "" : fileSystem.Path.GetFullPath(path),
+ path == null ? "" : fileSystem.Execute.Path.GetFullPath(path),
(options & FileOptions.Asynchronous) != 0)
{
ThrowIfInvalidModeAccess(mode, access);
@@ -210,7 +210,7 @@ private FileStreamMock(MemoryStream stream,
_mode.Equals(FileMode.Truncate))
{
throw ExceptionFactory.FileNotFound(
- _fileSystem.Path.GetFullPath(base.Name));
+ _fileSystem.Execute.Path.GetFullPath(base.Name));
}
file = _fileSystem.Storage.GetOrCreateContainer(_location,
@@ -222,15 +222,15 @@ private FileStreamMock(MemoryStream stream,
_fileSystem.Execute.OnWindows(
() =>
throw ExceptionFactory.AccessToPathDenied(
- _fileSystem.Path.GetFullPath(base.Name)),
+ _fileSystem.Execute.Path.GetFullPath(base.Name)),
() =>
throw ExceptionFactory.FileAlreadyExists(
- _fileSystem.Path.GetFullPath(base.Name), 17));
+ _fileSystem.Execute.Path.GetFullPath(base.Name), 17));
}
else if (_mode.Equals(FileMode.CreateNew))
{
throw ExceptionFactory.FileAlreadyExists(
- _fileSystem.Path.GetFullPath(Name),
+ _fileSystem.Execute.Path.GetFullPath(Name),
_fileSystem.Execute.IsWindows ? -2147024816 : 17);
}
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs
index 265dd6822..ef30cb8f9 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemInfoMock.cs
@@ -166,7 +166,7 @@ public string Extension
return ".";
}
- return _fileSystem.Path.GetExtension(Location.FullPath);
+ return _fileSystem.Execute.Path.GetExtension(Location.FullPath);
}
}
@@ -282,11 +282,11 @@ public virtual string Name
{
using IDisposable registration = RegisterProperty(nameof(Name), PropertyAccess.Get);
- return _fileSystem.Path.GetPathRoot(Location.FullPath) == Location.FullPath
+ return _fileSystem.Execute.Path.GetPathRoot(Location.FullPath) == Location.FullPath
? Location.FullPath
- : _fileSystem.Path.GetFileName(Location.FullPath.TrimEnd(
- _fileSystem.Path.DirectorySeparatorChar,
- _fileSystem.Path.AltDirectorySeparatorChar));
+ : _fileSystem.Execute.Path.GetFileName(Location.FullPath.TrimEnd(
+ _fileSystem.Execute.Path.DirectorySeparatorChar,
+ _fileSystem.Execute.Path.AltDirectorySeparatorChar));
}
}
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs
index 029c2341c..686332b97 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/FileSystemWatcherMock.cs
@@ -317,7 +317,7 @@ protected override void Dispose(bool disposing)
private bool MatchesFilter(ChangeDescription changeDescription)
{
- string fullPath = _fileSystem.Path.GetFullPath(Path);
+ string fullPath = _fileSystem.Execute.Path.GetFullPath(Path);
if (IncludeSubdirectories)
{
if (!changeDescription.Path.StartsWith(fullPath))
@@ -325,7 +325,7 @@ private bool MatchesFilter(ChangeDescription changeDescription)
return false;
}
}
- else if (FileSystem.Path.GetDirectoryName(changeDescription.Path) != fullPath)
+ else if (_fileSystem.Execute.Path.GetDirectoryName(changeDescription.Path) != fullPath)
{
return false;
}
@@ -344,7 +344,7 @@ private bool MatchesFilter(ChangeDescription changeDescription)
EnumerationOptionsHelper.MatchesPattern(
_fileSystem.Execute,
EnumerationOptionsHelper.Compatible,
- _fileSystem.Path.GetFileName(changeDescription.Path),
+ _fileSystem.Execute.Path.GetFileName(changeDescription.Path),
filter));
}
@@ -501,10 +501,10 @@ private string TransformPathAndName(
string? transformedName = changeDescriptionName;
string? path = changeDescriptionPath;
if (transformedName == null ||
- _fileSystem.Path.IsPathRooted(changeDescriptionName))
+ _fileSystem.Execute.Path.IsPathRooted(changeDescriptionName))
{
- transformedName = _fileSystem.Path.GetFileName(changeDescriptionPath);
- path = _fileSystem.Path.GetDirectoryName(path);
+ transformedName = _fileSystem.Execute.Path.GetFileName(changeDescriptionPath);
+ path = _fileSystem.Execute.Path.GetDirectoryName(path);
}
else if (path.EndsWith(transformedName))
{
diff --git a/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs b/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs
index 2881c6534..69d8e24b1 100644
--- a/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystem/PathMock.cs
@@ -1,334 +1,302 @@
using System;
using System.Diagnostics.CodeAnalysis;
-using System.IO;
-using Testably.Abstractions.Helpers;
-using Testably.Abstractions.Testing.Helpers;
using Testably.Abstractions.Testing.Statistics;
-#if FEATURE_FILESYSTEM_NET7
-using Testably.Abstractions.Testing.Storage;
-#endif
namespace Testably.Abstractions.Testing.FileSystem;
-internal sealed class PathMock : PathSystemBase
+internal sealed class PathMock : IPath
{
+ private readonly MockFileSystem _fileSystem;
+
+ internal PathMock(MockFileSystem fileSystem)
+ {
+ _fileSystem = fileSystem;
+ }
+
+ #region IPath Members
+
///
- public override char AltDirectorySeparatorChar
+ public char AltDirectorySeparatorChar
{
get
{
using IDisposable register = RegisterProperty(nameof(AltDirectorySeparatorChar));
- return base.AltDirectorySeparatorChar;
+ return _fileSystem.Execute.Path.AltDirectorySeparatorChar;
}
}
///
- public override char DirectorySeparatorChar
+ public char DirectorySeparatorChar
{
get
{
using IDisposable register = RegisterProperty(nameof(DirectorySeparatorChar));
- return base.DirectorySeparatorChar;
+ return _fileSystem.Execute.Path.DirectorySeparatorChar;
}
}
+ ///
+ public IFileSystem FileSystem
+ => _fileSystem;
+
///
- public override char PathSeparator
+ public char PathSeparator
{
get
{
using IDisposable register = RegisterProperty(nameof(PathSeparator));
- return base.PathSeparator;
+ return _fileSystem.Execute.Path.PathSeparator;
}
}
///
- public override char VolumeSeparatorChar
+ public char VolumeSeparatorChar
{
get
{
using IDisposable register = RegisterProperty(nameof(VolumeSeparatorChar));
- return base.VolumeSeparatorChar;
+ return _fileSystem.Execute.Path.VolumeSeparatorChar;
}
}
- private readonly MockFileSystem _fileSystem;
-
- internal PathMock(MockFileSystem fileSystem)
- : base(fileSystem)
- {
- _fileSystem = fileSystem;
- }
-
///
[return: NotNullIfNotNull("path")]
- public override string? ChangeExtension(string? path, string? extension)
+ public string? ChangeExtension(string? path, string? extension)
{
using IDisposable register = RegisterMethod(nameof(ChangeExtension),
path, extension);
- return base.ChangeExtension(path, extension);
+ return _fileSystem.Execute.Path.ChangeExtension(path, extension);
}
///
- public override string Combine(string path1, string path2)
+ public string Combine(string path1, string path2)
{
using IDisposable register = RegisterMethod(nameof(Combine),
path1, path2);
- return base.Combine(path1, path2);
+ return _fileSystem.Execute.Path.Combine(path1, path2);
}
///
- public override string Combine(string path1, string path2, string path3)
+ public string Combine(string path1, string path2, string path3)
{
using IDisposable register = RegisterMethod(nameof(Combine),
path1, path2, path3);
- return base.Combine(path1, path2, path3);
+ return _fileSystem.Execute.Path.Combine(path1, path2, path3);
}
///
- public override string Combine(string path1, string path2, string path3, string path4)
+ public string Combine(string path1, string path2, string path3, string path4)
{
using IDisposable register = RegisterMethod(nameof(Combine),
path1, path2, path3, path4);
- return base.Combine(path1, path2, path3, path4);
+ return _fileSystem.Execute.Path.Combine(path1, path2, path3, path4);
}
///
- public override string Combine(params string[] paths)
+ public string Combine(params string[] paths)
{
using IDisposable register = RegisterMethod(nameof(Combine),
paths);
- return base.Combine(paths);
+ return _fileSystem.Execute.Path.Combine(paths);
}
#if FEATURE_PATH_ADVANCED
///
- public override bool EndsInDirectorySeparator(ReadOnlySpan path)
+ public bool EndsInDirectorySeparator(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(EndsInDirectorySeparator),
path);
- return base.EndsInDirectorySeparator(path);
+ return _fileSystem.Execute.Path.EndsInDirectorySeparator(path);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override bool EndsInDirectorySeparator(string path)
+ public bool EndsInDirectorySeparator(string path)
{
using IDisposable register = RegisterMethod(nameof(EndsInDirectorySeparator),
path);
- return base.EndsInDirectorySeparator(path);
+ return _fileSystem.Execute.Path.EndsInDirectorySeparator(path);
}
#endif
#if FEATURE_FILESYSTEM_NET7
///
- public override bool Exists([NotNullWhen(true)] string? path)
+ public bool Exists([NotNullWhen(true)] string? path)
{
using IDisposable register = RegisterMethod(nameof(Exists),
path);
- if (string.IsNullOrEmpty(path))
- {
- return false;
- }
-
- return _fileSystem.Storage.GetContainer(_fileSystem.Storage.GetLocation(path))
- is not NullContainer;
+ return _fileSystem.Execute.Path.Exists(path);
}
#endif
#if FEATURE_SPAN
///
- public override ReadOnlySpan GetDirectoryName(ReadOnlySpan path)
+ public ReadOnlySpan GetDirectoryName(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(GetDirectoryName),
path);
- return base.GetDirectoryName(path);
+ return _fileSystem.Execute.Path.GetDirectoryName(path);
}
#endif
///
- public override string? GetDirectoryName(string? path)
+ public string? GetDirectoryName(string? path)
{
using IDisposable register = RegisterMethod(nameof(GetDirectoryName),
path);
- return base.GetDirectoryName(path);
+ return _fileSystem.Execute.Path.GetDirectoryName(path);
}
#if FEATURE_SPAN
///
- public override ReadOnlySpan GetExtension(ReadOnlySpan path)
+ public ReadOnlySpan GetExtension(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(GetExtension),
path);
- return base.GetExtension(path);
+ return _fileSystem.Execute.Path.GetExtension(path);
}
#endif
///
[return: NotNullIfNotNull("path")]
- public override string? GetExtension(string? path)
+ public string? GetExtension(string? path)
{
using IDisposable register = RegisterMethod(nameof(GetExtension),
path);
- return base.GetExtension(path);
+ return _fileSystem.Execute.Path.GetExtension(path);
}
#if FEATURE_SPAN
///
- public override ReadOnlySpan GetFileName(ReadOnlySpan path)
+ public ReadOnlySpan GetFileName(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(GetFileName),
path);
- return base.GetFileName(path);
+ return _fileSystem.Execute.Path.GetFileName(path);
}
#endif
///
[return: NotNullIfNotNull("path")]
- public override string? GetFileName(string? path)
+ public string? GetFileName(string? path)
{
using IDisposable register = RegisterMethod(nameof(GetFileName),
path);
- return base.GetFileName(path);
+ return _fileSystem.Execute.Path.GetFileName(path);
}
#if FEATURE_SPAN
///
- public override ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path)
+ public ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(GetFileNameWithoutExtension),
path);
- return base.GetFileNameWithoutExtension(path);
+ return _fileSystem.Execute.Path.GetFileNameWithoutExtension(path);
}
#endif
///
[return: NotNullIfNotNull("path")]
- public override string? GetFileNameWithoutExtension(string? path)
+ public string? GetFileNameWithoutExtension(string? path)
{
using IDisposable register = RegisterMethod(nameof(GetFileNameWithoutExtension),
path);
- return base.GetFileNameWithoutExtension(path);
+ return _fileSystem.Execute.Path.GetFileNameWithoutExtension(path);
}
///
- public override string GetFullPath(string path)
+ public string GetFullPath(string path)
{
using IDisposable register = RegisterMethod(nameof(GetFullPath),
path);
- path.EnsureValidArgument(_fileSystem, nameof(path));
-
- string? pathRoot = Path.GetPathRoot(path);
- string? directoryRoot = Path.GetPathRoot(_fileSystem.Storage.CurrentDirectory);
- if (!string.IsNullOrEmpty(pathRoot) && !string.IsNullOrEmpty(directoryRoot))
- {
- if (char.ToUpperInvariant(pathRoot[0]) != char.ToUpperInvariant(directoryRoot[0]))
- {
- return Path.GetFullPath(path);
- }
-
- if (pathRoot.Length < directoryRoot.Length)
- {
- path = path.Substring(pathRoot.Length);
- }
- }
-
- return Path.GetFullPath(Path.Combine(
- _fileSystem.Storage.CurrentDirectory,
- path));
+ return _fileSystem.Execute.Path.GetFullPath(path);
}
#if FEATURE_PATH_RELATIVE
///
- public override string GetFullPath(string path, string basePath)
+ public string GetFullPath(string path, string basePath)
{
using IDisposable register = RegisterMethod(nameof(GetFullPath),
path, basePath);
- return base.GetFullPath(path, basePath);
+ return _fileSystem.Execute.Path.GetFullPath(path, basePath);
}
#endif
///
- public override char[] GetInvalidFileNameChars()
+ public char[] GetInvalidFileNameChars()
{
using IDisposable register = RegisterMethod(nameof(GetInvalidFileNameChars));
- return base.GetInvalidFileNameChars();
+ return _fileSystem.Execute.Path.GetInvalidFileNameChars();
}
///
- public override char[] GetInvalidPathChars()
+ public char[] GetInvalidPathChars()
{
using IDisposable register = RegisterMethod(nameof(GetInvalidPathChars));
- return base.GetInvalidPathChars();
+ return _fileSystem.Execute.Path.GetInvalidPathChars();
}
#if FEATURE_SPAN
///
- public override ReadOnlySpan GetPathRoot(ReadOnlySpan path)
+ public ReadOnlySpan GetPathRoot(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(GetPathRoot),
path);
- return base.GetPathRoot(path);
+ return _fileSystem.Execute.Path.GetPathRoot(path);
}
#endif
///
- public override string? GetPathRoot(string? path)
+ public string? GetPathRoot(string? path)
{
using IDisposable register = RegisterMethod(nameof(GetPathRoot),
path);
- return base.GetPathRoot(path);
+ return _fileSystem.Execute.Path.GetPathRoot(path);
}
///
- public override string GetRandomFileName()
+ public string GetRandomFileName()
{
using IDisposable register = RegisterMethod(nameof(GetRandomFileName));
- return base.GetRandomFileName();
+ return _fileSystem.Execute.Path.GetRandomFileName();
}
#if FEATURE_PATH_RELATIVE
///
- public override string GetRelativePath(string relativeTo, string path)
+ public string GetRelativePath(string relativeTo, string path)
{
using IDisposable register = RegisterMethod(nameof(GetRelativePath),
relativeTo, path);
- relativeTo.EnsureValidArgument(_fileSystem, nameof(relativeTo));
- path.EnsureValidArgument(_fileSystem, nameof(path));
-
- relativeTo = _fileSystem.Path.GetFullPath(relativeTo);
- path = _fileSystem.Path.GetFullPath(path);
-
- return Path.GetRelativePath(relativeTo, path);
+ return _fileSystem.Execute.Path.GetRelativePath(relativeTo, path);
}
#endif
@@ -337,97 +305,97 @@ public override string GetRelativePath(string relativeTo, string path)
[Obsolete(
"Insecure temporary file creation methods should not be used. Use `Path.Combine(Path.GetTempPath(), Path.GetRandomFileName())` instead.")]
#endif
- public override string GetTempFileName()
+ public string GetTempFileName()
{
using IDisposable register = RegisterMethod(nameof(GetTempFileName));
- return base.GetTempFileName();
+ return _fileSystem.Execute.Path.GetTempFileName();
}
///
- public override string GetTempPath()
+ public string GetTempPath()
{
using IDisposable register = RegisterMethod(nameof(GetTempPath));
- return base.GetTempPath();
+ return _fileSystem.Execute.Path.GetTempPath();
}
#if FEATURE_SPAN
///
- public override bool HasExtension(ReadOnlySpan path)
+ public bool HasExtension(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(HasExtension),
path);
- return base.HasExtension(path);
+ return _fileSystem.Execute.Path.HasExtension(path);
}
#endif
///
- public override bool HasExtension([NotNullWhen(true)] string? path)
+ public bool HasExtension([NotNullWhen(true)] string? path)
{
using IDisposable register = RegisterMethod(nameof(HasExtension),
path);
- return base.HasExtension(path);
+ return _fileSystem.Execute.Path.HasExtension(path);
}
#if FEATURE_SPAN
///
- public override bool IsPathFullyQualified(ReadOnlySpan path)
+ public bool IsPathFullyQualified(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(IsPathFullyQualified),
path);
- return base.IsPathFullyQualified(path);
+ return _fileSystem.Execute.Path.IsPathFullyQualified(path);
}
#endif
#if FEATURE_PATH_RELATIVE
///
- public override bool IsPathFullyQualified(string path)
+ public bool IsPathFullyQualified(string path)
{
using IDisposable register = RegisterMethod(nameof(IsPathFullyQualified),
path);
- return base.IsPathFullyQualified(path);
+ return _fileSystem.Execute.Path.IsPathFullyQualified(path);
}
#endif
#if FEATURE_SPAN
///
- public override bool IsPathRooted(ReadOnlySpan path)
+ public bool IsPathRooted(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(IsPathRooted),
path);
- return base.IsPathRooted(path);
+ return _fileSystem.Execute.Path.IsPathRooted(path);
}
#endif
///
- public override bool IsPathRooted(string? path)
+ public bool IsPathRooted(string? path)
{
using IDisposable register = RegisterMethod(nameof(IsPathRooted),
path);
- return base.IsPathRooted(path);
+ return _fileSystem.Execute.Path.IsPathRooted(path);
}
-#if FEATURE_PATH_ADVANCED
+#if FEATURE_PATH_JOIN
///
- public override string Join(ReadOnlySpan path1, ReadOnlySpan path2)
+ public string Join(ReadOnlySpan path1, ReadOnlySpan path2)
{
using IDisposable register = RegisterMethod(nameof(Join),
path1, path2);
- return base.Join(path1, path2);
+ return _fileSystem.Execute.Path.Join(path1, path2);
}
#endif
-#if FEATURE_PATH_ADVANCED
+#if FEATURE_PATH_JOIN
///
- public override string Join(ReadOnlySpan path1,
+ public string Join(ReadOnlySpan path1,
ReadOnlySpan path2,
ReadOnlySpan path3)
{
@@ -436,13 +404,13 @@ public override string Join(ReadOnlySpan path1,
path2,
path3);
- return base.Join(path1, path2, path3);
+ return _fileSystem.Execute.Path.Join(path1, path2, path3);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string Join(ReadOnlySpan path1,
+ public string Join(ReadOnlySpan path1,
ReadOnlySpan path2,
ReadOnlySpan path3,
ReadOnlySpan path4)
@@ -453,79 +421,79 @@ public override string Join(ReadOnlySpan path1,
path3,
path4);
- return base.Join(path1, path2, path3, path4);
+ return _fileSystem.Execute.Path.Join(path1, path2, path3, path4);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string Join(string? path1, string? path2)
+ public string Join(string? path1, string? path2)
{
using IDisposable register = RegisterMethod(nameof(Join),
path1, path2);
- return base.Join(path1, path2);
+ return _fileSystem.Execute.Path.Join(path1, path2);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string Join(string? path1, string? path2, string? path3)
+ public string Join(string? path1, string? path2, string? path3)
{
using IDisposable register = RegisterMethod(nameof(Join),
path1, path2, path3);
- return base.Join(path1, path2, path3);
+ return _fileSystem.Execute.Path.Join(path1, path2, path3);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string Join(string? path1, string? path2, string? path3, string? path4)
+ public string Join(string? path1, string? path2, string? path3, string? path4)
{
using IDisposable register = RegisterMethod(nameof(Join),
path1, path2, path3, path4);
- return base.Join(path1, path2, path3, path4);
+ return _fileSystem.Execute.Path.Join(path1, path2, path3, path4);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string Join(params string?[] paths)
+ public string Join(params string?[] paths)
{
using IDisposable register = RegisterMethod(nameof(Join),
paths);
- return base.Join(paths);
+ return _fileSystem.Execute.Path.Join(paths);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path)
+ public ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path)
{
using IDisposable register = RegisterMethod(nameof(TrimEndingDirectorySeparator),
path);
- return base.TrimEndingDirectorySeparator(path);
+ return _fileSystem.Execute.Path.TrimEndingDirectorySeparator(path);
}
#endif
#if FEATURE_PATH_ADVANCED
///
- public override string TrimEndingDirectorySeparator(string path)
+ public string TrimEndingDirectorySeparator(string path)
{
using IDisposable register = RegisterMethod(nameof(TrimEndingDirectorySeparator),
path);
- return base.TrimEndingDirectorySeparator(path);
+ return _fileSystem.Execute.Path.TrimEndingDirectorySeparator(path);
}
#endif
#if FEATURE_PATH_JOIN
///
- public override bool TryJoin(ReadOnlySpan path1,
+ public bool TryJoin(ReadOnlySpan path1,
ReadOnlySpan path2,
Span destination,
out int charsWritten)
@@ -533,7 +501,8 @@ public override bool TryJoin(ReadOnlySpan path1,
int registerCharsWritten = 0;
try
{
- bool result = base.TryJoin(path1, path2, destination, out charsWritten);
+ bool result =
+ _fileSystem.Execute.Path.TryJoin(path1, path2, destination, out charsWritten);
registerCharsWritten = charsWritten;
return result;
}
@@ -550,7 +519,7 @@ public override bool TryJoin(ReadOnlySpan path1,
#if FEATURE_PATH_JOIN
///
- public override bool TryJoin(ReadOnlySpan path1,
+ public bool TryJoin(ReadOnlySpan path1,
ReadOnlySpan path2,
ReadOnlySpan path3,
Span destination,
@@ -559,7 +528,9 @@ public override bool TryJoin(ReadOnlySpan path1,
int registerCharsWritten = 0;
try
{
- bool result = base.TryJoin(path1, path2, path3, destination, out charsWritten);
+ bool result =
+ _fileSystem.Execute.Path.TryJoin(path1, path2, path3, destination,
+ out charsWritten);
registerCharsWritten = charsWritten;
return result;
}
@@ -575,6 +546,8 @@ public override bool TryJoin(ReadOnlySpan path1,
}
#endif
+ #endregion
+
private IDisposable RegisterMethod(string name)
=> _fileSystem.StatisticsRegistration.Path.RegisterMethod(name);
@@ -588,7 +561,7 @@ private IDisposable RegisterMethod(string name, ReadOnlySpan parameter1)
ParameterDescription.FromParameter(parameter1));
#endif
-#if FEATURE_PATH_ADVANCED
+#if FEATURE_PATH_JOIN
private IDisposable RegisterMethod(string name, ReadOnlySpan parameter1,
ReadOnlySpan parameter2)
=> _fileSystem.StatisticsRegistration.Path.RegisterMethod(name,
@@ -596,7 +569,7 @@ private IDisposable RegisterMethod(string name, ReadOnlySpan paramet
ParameterDescription.FromParameter(parameter2));
#endif
-#if FEATURE_PATH_ADVANCED
+#if FEATURE_PATH_JOIN
private IDisposable RegisterMethod(string name, ReadOnlySpan parameter1,
ReadOnlySpan parameter2, ReadOnlySpan parameter3)
=> _fileSystem.StatisticsRegistration.Path.RegisterMethod(name,
diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs
index b818d91fb..2b94819ee 100644
--- a/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystemInitializer/DirectoryCleaner.cs
@@ -17,7 +17,7 @@ public DirectoryCleaner(IFileSystem fileSystem, string? prefix, Action?
_fileSystem = fileSystem;
_logger = logger;
BasePath = InitializeBasePath(
- (fileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ fileSystem.ExecuteOrDefault(),
prefix ?? "");
}
diff --git a/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs b/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs
index ed9b2372e..110ec458f 100644
--- a/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/FileSystemInitializerExtensions.cs
@@ -96,7 +96,7 @@ public static void InitializeEmbeddedResourcesFromAssembly(this IFileSystem file
#pragma warning restore CA2249
if (EnumerationOptionsHelper.MatchesPattern(
- (fileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ fileSystem.ExecuteOrDefault(),
enumerationOptions,
fileName,
searchPattern))
diff --git a/Source/Testably.Abstractions.Testing/Helpers/Execute.NativePath.cs b/Source/Testably.Abstractions.Testing/Helpers/Execute.NativePath.cs
new file mode 100644
index 000000000..4c9905dca
--- /dev/null
+++ b/Source/Testably.Abstractions.Testing/Helpers/Execute.NativePath.cs
@@ -0,0 +1,322 @@
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.IO;
+using Testably.Abstractions.Testing.Storage;
+
+namespace Testably.Abstractions.Testing.Helpers;
+
+internal partial class Execute
+{
+ private sealed class NativePath : IPath
+ {
+ private readonly MockFileSystem _fileSystem;
+
+ public NativePath(MockFileSystem fileSystem)
+ {
+ _fileSystem = fileSystem;
+ }
+
+ #region IPath Members
+
+ ///
+ public char AltDirectorySeparatorChar
+ => System.IO.Path.AltDirectorySeparatorChar;
+
+ ///
+ public char DirectorySeparatorChar
+ => System.IO.Path.DirectorySeparatorChar;
+
+ ///
+ public IFileSystem FileSystem => _fileSystem;
+
+ ///
+ public char PathSeparator
+ => System.IO.Path.PathSeparator;
+
+ ///
+ public char VolumeSeparatorChar
+ => System.IO.Path.VolumeSeparatorChar;
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? ChangeExtension(string? path, string? extension)
+ => System.IO.Path.ChangeExtension(path, extension);
+
+ ///
+ public string Combine(string path1, string path2)
+ => System.IO.Path.Combine(path1, path2);
+
+ ///
+ public string Combine(string path1, string path2, string path3)
+ => System.IO.Path.Combine(path1, path2, path3);
+
+ ///
+ public string Combine(string path1, string path2, string path3, string path4)
+ => System.IO.Path.Combine(path1, path2, path3, path4);
+
+ ///
+ public string Combine(params string[] paths)
+ => System.IO.Path.Combine(paths);
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public bool EndsInDirectorySeparator(ReadOnlySpan path)
+ => System.IO.Path.EndsInDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public bool EndsInDirectorySeparator(string path)
+ => System.IO.Path.EndsInDirectorySeparator(path);
+#endif
+
+#if FEATURE_FILESYSTEM_NET7
+ ///
+ public bool Exists([NotNullWhen(true)] string? path)
+ {
+ if (string.IsNullOrEmpty(path))
+ {
+ return false;
+ }
+
+ return _fileSystem.Storage.GetContainer(_fileSystem.Storage.GetLocation(path))
+ is not NullContainer;
+ }
+#endif
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetDirectoryName(ReadOnlySpan path)
+ => System.IO.Path.GetDirectoryName(path);
+#endif
+
+ ///
+ public string? GetDirectoryName(string? path)
+ => System.IO.Path.GetDirectoryName(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetExtension(ReadOnlySpan path)
+ => System.IO.Path.GetExtension(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetExtension(string? path)
+ => System.IO.Path.GetExtension(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetFileName(ReadOnlySpan path)
+ => System.IO.Path.GetFileName(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetFileName(string? path)
+ => System.IO.Path.GetFileName(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path)
+ => System.IO.Path.GetFileNameWithoutExtension(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetFileNameWithoutExtension(string? path)
+ => System.IO.Path.GetFileNameWithoutExtension(path);
+
+ ///
+ public string GetFullPath(string path)
+ {
+ path.EnsureValidArgument(_fileSystem, nameof(path));
+
+ string? pathRoot = System.IO.Path.GetPathRoot(path);
+ string? directoryRoot =
+ System.IO.Path.GetPathRoot(_fileSystem.Storage.CurrentDirectory);
+ if (!string.IsNullOrEmpty(pathRoot) && !string.IsNullOrEmpty(directoryRoot))
+ {
+ if (char.ToUpperInvariant(pathRoot[0]) != char.ToUpperInvariant(directoryRoot[0]))
+ {
+ return System.IO.Path.GetFullPath(path);
+ }
+
+ if (pathRoot.Length < directoryRoot.Length)
+ {
+ path = path.Substring(pathRoot.Length);
+ }
+ }
+
+ return System.IO.Path.GetFullPath(System.IO.Path.Combine(
+ _fileSystem.Storage.CurrentDirectory,
+ path));
+ }
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public string GetFullPath(string path, string basePath)
+ => System.IO.Path.GetFullPath(path, basePath);
+#endif
+
+ ///
+ public char[] GetInvalidFileNameChars()
+ => System.IO.Path.GetInvalidFileNameChars();
+
+ ///
+ public char[] GetInvalidPathChars()
+ => System.IO.Path.GetInvalidPathChars();
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetPathRoot(ReadOnlySpan path)
+ => System.IO.Path.GetPathRoot(path);
+#endif
+
+ ///
+ public string? GetPathRoot(string? path)
+ => System.IO.Path.GetPathRoot(path);
+
+ ///
+ public string GetRandomFileName()
+ => System.IO.Path.GetRandomFileName();
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public string GetRelativePath(string relativeTo, string path)
+ {
+ relativeTo.EnsureValidArgument(_fileSystem, nameof(relativeTo));
+ path.EnsureValidArgument(_fileSystem, nameof(path));
+
+ relativeTo = _fileSystem.Execute.Path.GetFullPath(relativeTo);
+ path = _fileSystem.Execute.Path.GetFullPath(path);
+
+ return System.IO.Path.GetRelativePath(relativeTo, path);
+ }
+#endif
+
+ ///
+#if !NETSTANDARD2_0
+ [Obsolete(
+ "Insecure temporary file creation methods should not be used. Use `Path.Combine(Path.GetTempPath(), Path.GetRandomFileName())` instead.")]
+#endif
+ public string GetTempFileName()
+ => System.IO.Path.GetTempFileName();
+
+ ///
+ public string GetTempPath()
+ => System.IO.Path.GetTempPath();
+
+#if FEATURE_SPAN
+ ///
+ public bool HasExtension(ReadOnlySpan path)
+ => System.IO.Path.HasExtension(path);
+#endif
+
+ ///
+ public bool HasExtension([NotNullWhen(true)] string? path)
+ => System.IO.Path.HasExtension(path);
+
+#if FEATURE_SPAN
+ ///
+ public bool IsPathFullyQualified(ReadOnlySpan path)
+ => System.IO.Path.IsPathFullyQualified(path);
+#endif
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public bool IsPathFullyQualified(string path)
+ => System.IO.Path.IsPathFullyQualified(path);
+#endif
+
+#if FEATURE_SPAN
+ ///
+ public bool IsPathRooted(ReadOnlySpan path)
+ => System.IO.Path.IsPathRooted(path);
+#endif
+
+ ///
+ public bool IsPathRooted(string? path)
+ => System.IO.Path.IsPathRooted(path);
+
+#if FEATURE_PATH_JOIN
+ ///
+ public string Join(ReadOnlySpan path1, ReadOnlySpan path2)
+ => System.IO.Path.Join(path1, path2);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public string Join(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3)
+ => System.IO.Path.Join(path1, path2, path3);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3,
+ ReadOnlySpan path4)
+ => System.IO.Path.Join(path1, path2, path3, path4);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2)
+ => System.IO.Path.Join(path1, path2);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2, string? path3)
+ => System.IO.Path.Join(path1, path2, path3);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2, string? path3, string? path4)
+ => System.IO.Path.Join(path1, path2, path3, path4);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(params string?[] paths)
+ => System.IO.Path.Join(paths);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path)
+ => System.IO.Path.TrimEndingDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string TrimEndingDirectorySeparator(string path)
+ => System.IO.Path.TrimEndingDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public bool TryJoin(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ Span destination,
+ out int charsWritten)
+ => System.IO.Path.TryJoin(path1, path2, destination, out charsWritten);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public bool TryJoin(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3,
+ Span destination,
+ out int charsWritten)
+ => System.IO.Path.TryJoin(path1, path2, path3, destination, out charsWritten);
+#endif
+
+ #endregion
+ }
+}
diff --git a/Source/Testably.Abstractions.Testing/Helpers/Execute.cs b/Source/Testably.Abstractions.Testing/Helpers/Execute.cs
index 5175f4503..997c1cb61 100644
--- a/Source/Testably.Abstractions.Testing/Helpers/Execute.cs
+++ b/Source/Testably.Abstractions.Testing/Helpers/Execute.cs
@@ -3,13 +3,8 @@
namespace Testably.Abstractions.Testing.Helpers;
-internal class Execute
+internal partial class Execute
{
- ///
- /// The default execution engine, which uses the current operating system.
- ///
- public static Execute Default { get; } = new();
-
///
/// Flag indicating if the code runs on .
///
@@ -33,12 +28,17 @@ internal class Execute
///
public bool IsWindows { get; }
+ ///
+ /// The internal implementation of the functionality.
+ ///
+ public IPath Path { get; }
+
///
/// The default used for comparing paths.
///
public StringComparison StringComparisonMode { get; }
- internal Execute(OSPlatform osPlatform, bool isNetFramework = false)
+ internal Execute(MockFileSystem fileSystem, OSPlatform osPlatform, bool isNetFramework = false)
{
IsLinux = osPlatform == OSPlatform.Linux;
IsMac = osPlatform == OSPlatform.OSX;
@@ -47,9 +47,10 @@ internal Execute(OSPlatform osPlatform, bool isNetFramework = false)
StringComparisonMode = IsLinux
? StringComparison.Ordinal
: StringComparison.OrdinalIgnoreCase;
+ Path = new NativePath(fileSystem);
}
- private Execute()
+ internal Execute(MockFileSystem fileSystem)
{
IsLinux = RuntimeInformation.IsOSPlatform(OSPlatform.Linux);
IsMac = RuntimeInformation.IsOSPlatform(OSPlatform.OSX);
@@ -58,5 +59,6 @@ private Execute()
StringComparisonMode = IsLinux
? StringComparison.Ordinal
: StringComparison.OrdinalIgnoreCase;
+ Path = new NativePath(fileSystem);
}
}
diff --git a/Source/Testably.Abstractions.Testing/Helpers/FilePlatformIndependenceExtensions.cs b/Source/Testably.Abstractions.Testing/Helpers/FilePlatformIndependenceExtensions.cs
index 49b8b7167..12dcc01cc 100644
--- a/Source/Testably.Abstractions.Testing/Helpers/FilePlatformIndependenceExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/Helpers/FilePlatformIndependenceExtensions.cs
@@ -28,12 +28,12 @@ internal static class FilePlatformIndependenceExtensions
return fileSystem.Execute.OnWindows(
() => path
- .Replace(fileSystem.Path.AltDirectorySeparatorChar,
- fileSystem.Path.DirectorySeparatorChar),
+ .Replace(fileSystem.Execute.Path.AltDirectorySeparatorChar,
+ fileSystem.Execute.Path.DirectorySeparatorChar),
() => PathTransformRegex
.Replace(path, "${path}")
- .Replace(fileSystem.Path.AltDirectorySeparatorChar,
- fileSystem.Path.DirectorySeparatorChar));
+ .Replace(fileSystem.Execute.Path.AltDirectorySeparatorChar,
+ fileSystem.Execute.Path.DirectorySeparatorChar));
}
///
@@ -48,7 +48,7 @@ internal static class FilePlatformIndependenceExtensions
return path;
}
- if (fileSystem.Path.IsPathRooted(path))
+ if (fileSystem.Execute.Path.IsPathRooted(path))
{
return path;
}
diff --git a/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensions.cs b/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensions.cs
index e031afa63..b39b62a88 100644
--- a/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/Helpers/FileSystemExtensions.cs
@@ -7,6 +7,19 @@ namespace Testably.Abstractions.Testing.Helpers;
internal static class FileSystemExtensions
{
+ ///
+ /// Ignores all registrations on the until the return value is disposed.
+ ///
+ internal static Execute ExecuteOrDefault(this IFileSystem fileSystem)
+ {
+ if (fileSystem is MockFileSystem mockFileSystem)
+ {
+ return mockFileSystem.Execute;
+ }
+
+ return new Execute(new MockFileSystem());
+ }
+
///
/// Determines the new when the is moved
/// from to .
@@ -41,12 +54,12 @@ internal static string GetSubdirectoryPath(this MockFileSystem fileSystem,
string fullFilePath,
string givenPath)
{
- if (fileSystem.Path.IsPathRooted(givenPath))
+ if (fileSystem.Execute.Path.IsPathRooted(givenPath))
{
return fullFilePath;
}
- string currentDirectory = fileSystem.Path.GetFullPath(givenPath);
+ string currentDirectory = fileSystem.Execute.Path.GetFullPath(givenPath);
if (currentDirectory == string.Empty.PrefixRoot(fileSystem))
{
fullFilePath = fullFilePath.Substring(currentDirectory.Length);
@@ -75,9 +88,9 @@ internal static string GetSubdirectoryPath(this MockFileSystem fileSystem,
}
}
- if (!fullFilePath.StartsWith(givenPath + fileSystem.Path.DirectorySeparatorChar))
+ if (!fullFilePath.StartsWith(givenPath + fileSystem.Execute.Path.DirectorySeparatorChar))
{
- return fileSystem.Path.Combine(givenPath, fullFilePath);
+ return fileSystem.Execute.Path.Combine(givenPath, fullFilePath);
}
return fullFilePath;
diff --git a/Source/Testably.Abstractions.Testing/Helpers/PathHelper.cs b/Source/Testably.Abstractions.Testing/Helpers/PathHelper.cs
index 31f786d6f..83131727c 100644
--- a/Source/Testably.Abstractions.Testing/Helpers/PathHelper.cs
+++ b/Source/Testably.Abstractions.Testing/Helpers/PathHelper.cs
@@ -52,7 +52,7 @@ internal static string GetFullPathOrWhiteSpace(this string? path, IFileSystem fi
///
internal static bool HasIllegalCharacters(this string path, MockFileSystem fileSystem)
{
- char[] invalidPathChars = fileSystem.Path.GetInvalidPathChars();
+ char[] invalidPathChars = fileSystem.Execute.Path.GetInvalidPathChars();
if (path.IndexOfAny(invalidPathChars) >= 0)
{
@@ -102,9 +102,9 @@ internal static bool IsUncPath([NotNullWhen(true)] this string? path, MockFileSy
}
return fileSystem.Execute.OnWindows(
- () => path.StartsWith(new string(fileSystem.Path.DirectorySeparatorChar, 2)) ||
- path.StartsWith(new string(fileSystem.Path.AltDirectorySeparatorChar, 2)),
- () => path.StartsWith(new string(fileSystem.Path.DirectorySeparatorChar, 2)));
+ () => path.StartsWith(new string(fileSystem.Execute.Path.DirectorySeparatorChar, 2)) ||
+ path.StartsWith(new string(fileSystem.Execute.Path.AltDirectorySeparatorChar, 2)),
+ () => path.StartsWith(new string(fileSystem.Execute.Path.DirectorySeparatorChar, 2)));
}
internal static void ThrowCommonExceptionsIfPathToTargetIsInvalid(
@@ -155,13 +155,13 @@ private static void CheckPathCharacters(string path, MockFileSystem fileSystem,
hResult));
throw ExceptionFactory.PathHasIncorrectSyntax(
- fileSystem.Path.GetFullPath(path), hResult);
+ fileSystem.Execute.Path.GetFullPath(path), hResult);
}
fileSystem.Execute.OnWindowsIf(path.LastIndexOf(':') > 1 &&
path.LastIndexOf(':') <
path.IndexOf(Path.DirectorySeparatorChar),
() => throw ExceptionFactory.PathHasIncorrectSyntax(
- fileSystem.Path.GetFullPath(path), hResult));
+ fileSystem.Execute.Path.GetFullPath(path), hResult));
}
}
diff --git a/Source/Testably.Abstractions.Testing/InterceptionHandlerExtensions.cs b/Source/Testably.Abstractions.Testing/InterceptionHandlerExtensions.cs
index 622d32517..d4a533b5c 100644
--- a/Source/Testably.Abstractions.Testing/InterceptionHandlerExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/InterceptionHandlerExtensions.cs
@@ -40,7 +40,7 @@ public static MockFileSystem Changing(
Func? predicate = null)
=> handler.Event(interceptionCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Changed,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
@@ -77,7 +77,7 @@ public static MockFileSystem Creating(
Func? predicate = null)
=> handler.Event(interceptionCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Created,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
@@ -114,7 +114,7 @@ public static MockFileSystem Deleting(
Func? predicate = null)
=> handler.Event(interceptionCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Deleted,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
diff --git a/Source/Testably.Abstractions.Testing/MockFileSystem.cs b/Source/Testably.Abstractions.Testing/MockFileSystem.cs
index 8accf7aca..57b7fec8d 100644
--- a/Source/Testably.Abstractions.Testing/MockFileSystem.cs
+++ b/Source/Testably.Abstractions.Testing/MockFileSystem.cs
@@ -86,7 +86,7 @@ public MockFileSystem()
{
StatisticsRegistration = new FileSystemStatistics(this);
using IDisposable release = StatisticsRegistration.Ignore();
- Execute = Execute.Default;
+ Execute = new Execute(this);
RandomSystem = new MockRandomSystem();
TimeSystem = new MockTimeSystem(TimeProvider.Now());
_pathMock = new PathMock(this);
diff --git a/Source/Testably.Abstractions.Testing/MockFileSystemExtensions.cs b/Source/Testably.Abstractions.Testing/MockFileSystemExtensions.cs
index a6f300982..bd6b45676 100644
--- a/Source/Testably.Abstractions.Testing/MockFileSystemExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/MockFileSystemExtensions.cs
@@ -36,10 +36,10 @@ public static MockFileSystem WithUncDrive(this MockFileSystem mockFileSystem,
string server,
Action? driveCallback = null)
{
- string uncPrefix = new(mockFileSystem.Path.DirectorySeparatorChar, 2);
+ string uncPrefix = new(mockFileSystem.Execute.Path.DirectorySeparatorChar, 2);
server = server.TrimStart(
- mockFileSystem.Path.DirectorySeparatorChar,
- mockFileSystem.Path.AltDirectorySeparatorChar);
+ mockFileSystem.Execute.Path.DirectorySeparatorChar,
+ mockFileSystem.Execute.Path.AltDirectorySeparatorChar);
string drive = $"{uncPrefix}{server}";
return mockFileSystem.WithDrive(drive, driveCallback);
}
diff --git a/Source/Testably.Abstractions.Testing/NotificationHandlerExtensions.cs b/Source/Testably.Abstractions.Testing/NotificationHandlerExtensions.cs
index 4ef701f25..7ba626aae 100644
--- a/Source/Testably.Abstractions.Testing/NotificationHandlerExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/NotificationHandlerExtensions.cs
@@ -41,7 +41,7 @@ public static Notification.IAwaitableCallback
Func? predicate = null)
=> handler.OnEvent(notificationCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Changed,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
@@ -79,7 +79,7 @@ public static Notification.IAwaitableCallback
Func? predicate = null)
=> handler.OnEvent(notificationCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Created,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
@@ -117,7 +117,7 @@ public static Notification.IAwaitableCallback
Func? predicate = null)
=> handler.OnEvent(notificationCallback,
changeDescription => changeDescription.Matches(
- (handler.FileSystem as MockFileSystem)?.Execute ?? Execute.Default,
+ handler.FileSystem.ExecuteOrDefault(),
fileSystemType,
WatcherChangeTypes.Deleted,
path.GetFullPathOrWhiteSpace(handler.FileSystem),
diff --git a/Source/Testably.Abstractions.Testing/Statistics/FileSystemStatistics.cs b/Source/Testably.Abstractions.Testing/Statistics/FileSystemStatistics.cs
index fc6de6f1d..af860d06c 100644
--- a/Source/Testably.Abstractions.Testing/Statistics/FileSystemStatistics.cs
+++ b/Source/Testably.Abstractions.Testing/Statistics/FileSystemStatistics.cs
@@ -7,6 +7,12 @@ namespace Testably.Abstractions.Testing.Statistics;
internal sealed class FileSystemStatistics : IFileSystemStatistics, IStatisticsGate
{
private static readonly AsyncLocal IsDisabled = new();
+
+ ///
+ /// The total count of registered statistic calls.
+ ///
+ public int TotalCount => _counter;
+
internal readonly CallStatistics Directory;
internal readonly PathStatistics DirectoryInfo;
internal readonly PathStatistics DriveInfo;
@@ -23,7 +29,8 @@ public FileSystemStatistics(MockFileSystem fileSystem)
DriveInfo = new PathStatistics(this, fileSystem, nameof(IFileSystem.DriveInfo));
FileInfo = new PathStatistics(this, fileSystem, nameof(IFileSystem.FileInfo));
FileStream = new PathStatistics(this, fileSystem, nameof(IFileSystem.FileStream));
- FileSystemWatcher = new PathStatistics(this, fileSystem, nameof(IFileSystem.FileSystemWatcher));
+ FileSystemWatcher =
+ new PathStatistics(this, fileSystem, nameof(IFileSystem.FileSystemWatcher));
File = new CallStatistics(this, nameof(IFileSystem.File));
Directory = new CallStatistics(this, nameof(IFileSystem.Directory));
Path = new CallStatistics(this, nameof(IFileSystem.Path));
diff --git a/Source/Testably.Abstractions.Testing/Statistics/PathStatistics.cs b/Source/Testably.Abstractions.Testing/Statistics/PathStatistics.cs
index 1d45ac3fc..bde2968ff 100644
--- a/Source/Testably.Abstractions.Testing/Statistics/PathStatistics.cs
+++ b/Source/Testably.Abstractions.Testing/Statistics/PathStatistics.cs
@@ -30,7 +30,7 @@ public IStatistics this[string path]
get
{
string key = CreateKey(_fileSystem.Storage.CurrentDirectory, path);
- return _statistics.GetOrAdd(key,
+ return _statistics.GetOrAdd(key,
k => new CallStatistics(_statisticsGate, $"{ToString()}[{k}]"));
}
}
diff --git a/Source/Testably.Abstractions.Testing/Storage/InMemoryLocation.cs b/Source/Testably.Abstractions.Testing/Storage/InMemoryLocation.cs
index fedbda744..31c9d9661 100644
--- a/Source/Testably.Abstractions.Testing/Storage/InMemoryLocation.cs
+++ b/Source/Testably.Abstractions.Testing/Storage/InMemoryLocation.cs
@@ -83,8 +83,8 @@ public override int GetHashCode()
///
public IStorageLocation? GetParent()
{
- string? parentPath = _fileSystem.Path.GetDirectoryName(FullPath);
- if (_fileSystem.Path.GetPathRoot(FullPath) == FullPath || parentPath == null)
+ string? parentPath = _fileSystem.Execute.Path.GetDirectoryName(FullPath);
+ if (_fileSystem.Execute.Path.GetPathRoot(FullPath) == FullPath || parentPath == null)
{
return null;
}
@@ -98,7 +98,7 @@ public override int GetHashCode()
private string GetFriendlyNameParent(string parentPath)
=> _fileSystem.Execute.OnNetFramework(
- () => _fileSystem.Path.GetFileName(parentPath),
+ () => _fileSystem.Execute.Path.GetFileName(parentPath),
() => parentPath);
#endregion
@@ -133,13 +133,13 @@ public override string ToString()
private static string NormalizeKey(MockFileSystem fileSystem, string fullPath)
{
#if FEATURE_PATH_ADVANCED
- return fileSystem.Path.TrimEndingDirectorySeparator(fullPath);
+ return fileSystem.Execute.Path.TrimEndingDirectorySeparator(fullPath);
#else
return FileFeatureExtensionMethods.TrimEndingDirectorySeparator(
fileSystem,
fullPath,
- fileSystem.Path.DirectorySeparatorChar,
- fileSystem.Path.AltDirectorySeparatorChar);
+ fileSystem.Execute.Path.DirectorySeparatorChar,
+ fileSystem.Execute.Path.AltDirectorySeparatorChar);
#endif
}
}
diff --git a/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs b/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs
index c7b241a86..98155daea 100644
--- a/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs
+++ b/Source/Testably.Abstractions.Testing/Storage/InMemoryStorage.cs
@@ -177,17 +177,18 @@ public IEnumerable EnumerateLocations(
string fullPath = location.FullPath;
string fullPathWithoutTrailingSlash = fullPath;
#if NETSTANDARD2_0
- if (!fullPath.EndsWith($"{_fileSystem.Path.DirectorySeparatorChar}"))
+ if (!fullPath.EndsWith($"{_fileSystem.Execute.Path.DirectorySeparatorChar}"))
#else
- if (!fullPath.EndsWith(_fileSystem.Path.DirectorySeparatorChar))
+ if (!fullPath.EndsWith(_fileSystem.Execute.Path.DirectorySeparatorChar))
#endif
{
- fullPath += _fileSystem.Path.DirectorySeparatorChar;
+ fullPath += _fileSystem.Execute.Path.DirectorySeparatorChar;
}
- else if (_fileSystem.Path.GetPathRoot(fullPath) != fullPath)
+ else if (_fileSystem.Execute.Path.GetPathRoot(fullPath) != fullPath)
{
fullPathWithoutTrailingSlash =
- fullPathWithoutTrailingSlash.TrimEnd(_fileSystem.Path.DirectorySeparatorChar);
+ fullPathWithoutTrailingSlash.TrimEnd(
+ _fileSystem.Execute.Path.DirectorySeparatorChar);
}
foreach (KeyValuePair item in _containers
@@ -196,8 +197,8 @@ public IEnumerable EnumerateLocations(
!x.Key.Equals(location)))
{
string? parentPath =
- _fileSystem.Path.GetDirectoryName(
- item.Key.FullPath.TrimEnd(_fileSystem.Path
+ _fileSystem.Execute.Path.GetDirectoryName(
+ item.Key.FullPath.TrimEnd(_fileSystem.Execute.Path
.DirectorySeparatorChar));
if (!enumerationOptions.RecurseSubdirectories &&
parentPath?.Equals(fullPathWithoutTrailingSlash,
@@ -209,7 +210,7 @@ public IEnumerable EnumerateLocations(
if (!EnumerationOptionsHelper.MatchesPattern(
_fileSystem.Execute,
enumerationOptions,
- _fileSystem.Path.GetFileName(item.Key.FullPath),
+ _fileSystem.Execute.Path.GetFileName(item.Key.FullPath),
searchPattern))
{
continue;
@@ -249,7 +250,7 @@ public IEnumerable EnumerateLocations(
if (!driveName.IsUncPath(_fileSystem))
{
- driveName = _fileSystem.Path.GetPathRoot(driveName);
+ driveName = _fileSystem.Execute.Path.GetPathRoot(driveName);
if (string.IsNullOrEmpty(driveName))
{
@@ -572,13 +573,13 @@ private void CheckAndAdjustParentDirectoryTimes(IStorageLocation location)
private void CreateParents(MockFileSystem fileSystem, IStorageLocation location)
{
List parents = new();
- string? parent = fileSystem.Path.GetDirectoryName(
- location.FullPath.TrimEnd(fileSystem.Path.DirectorySeparatorChar,
- fileSystem.Path.AltDirectorySeparatorChar));
+ string? parent = fileSystem.Execute.Path.GetDirectoryName(
+ location.FullPath.TrimEnd(fileSystem.Execute.Path.DirectorySeparatorChar,
+ fileSystem.Execute.Path.AltDirectorySeparatorChar));
while (!string.IsNullOrEmpty(parent))
{
parents.Add(parent);
- parent = fileSystem.Path.GetDirectoryName(parent);
+ parent = fileSystem.Execute.Path.GetDirectoryName(parent);
}
parents.Reverse();
@@ -747,7 +748,7 @@ private void ThrowIfParentDoesNotExist(IStorageLocation location,
{
IStorageLocation? parentLocation = location.GetParent();
if (parentLocation != null &&
- _fileSystem.Path.GetPathRoot(parentLocation.FullPath) !=
+ _fileSystem.Execute.Path.GetPathRoot(parentLocation.FullPath) !=
parentLocation.FullPath &&
!_containers.TryGetValue(parentLocation, out _))
{
diff --git a/Source/Testably.Abstractions.Testing/Storage/LocationExtensions.cs b/Source/Testably.Abstractions.Testing/Storage/LocationExtensions.cs
index 9229109f0..917a89d2b 100644
--- a/Source/Testably.Abstractions.Testing/Storage/LocationExtensions.cs
+++ b/Source/Testably.Abstractions.Testing/Storage/LocationExtensions.cs
@@ -17,7 +17,7 @@ public static IStorageLocation ThrowExceptionIfNotFound(
{
IStorageLocation? parentLocation = location.GetParent();
if (parentLocation != null &&
- fileSystem.Path.GetPathRoot(parentLocation.FullPath) !=
+ fileSystem.Execute.Path.GetPathRoot(parentLocation.FullPath) !=
parentLocation.FullPath &&
fileSystem.Storage.GetContainer(parentLocation) is NullContainer)
{
@@ -52,7 +52,7 @@ public static IStorageLocation ThrowExceptionIfNotFound(
IStorageLocation? parentLocation = location?.GetParent();
if (directoryNotFoundException != null &&
parentLocation != null &&
- fileSystem.Path.GetPathRoot(parentLocation.FullPath) !=
+ fileSystem.Execute.Path.GetPathRoot(parentLocation.FullPath) !=
parentLocation.FullPath &&
fileSystem.Storage.GetContainer(parentLocation) is NullContainer)
{
diff --git a/Source/Testably.Abstractions/FileSystem/PathWrapper.cs b/Source/Testably.Abstractions/FileSystem/PathWrapper.cs
index dcebc750e..cb25f106e 100644
--- a/Source/Testably.Abstractions/FileSystem/PathWrapper.cs
+++ b/Source/Testably.Abstractions/FileSystem/PathWrapper.cs
@@ -1,21 +1,282 @@
-using Testably.Abstractions.Helpers;
-#if FEATURE_FILESYSTEM_NET7
-using System.Diagnostics.CodeAnalysis;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
+#if !NETSTANDARD2_0
+using System;
#endif
namespace Testably.Abstractions.FileSystem;
-internal sealed class PathWrapper : PathSystemBase
+internal sealed class PathWrapper : IPath
{
+ private readonly RealFileSystem _fileSystem;
+
public PathWrapper(RealFileSystem fileSystem)
- : base(fileSystem)
{
+ _fileSystem = fileSystem;
}
+ #region IPath Members
+
+ ///
+ public char AltDirectorySeparatorChar
+ => Path.AltDirectorySeparatorChar;
+
+ ///
+ public char DirectorySeparatorChar
+ => Path.DirectorySeparatorChar;
+
+ ///
+ public IFileSystem FileSystem => _fileSystem;
+
+ ///
+ public char PathSeparator
+ => Path.PathSeparator;
+
+ ///
+ public char VolumeSeparatorChar
+ => Path.VolumeSeparatorChar;
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? ChangeExtension(string? path, string? extension)
+ => Path.ChangeExtension(path, extension);
+
+ ///
+ public string Combine(string path1, string path2)
+ => Path.Combine(path1, path2);
+
+ ///
+ public string Combine(string path1, string path2, string path3)
+ => Path.Combine(path1, path2, path3);
+
+ ///
+ public string Combine(string path1, string path2, string path3, string path4)
+ => Path.Combine(path1, path2, path3, path4);
+
+ ///
+ public string Combine(params string[] paths)
+ => Path.Combine(paths);
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public bool EndsInDirectorySeparator(ReadOnlySpan path)
+ => Path.EndsInDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public bool EndsInDirectorySeparator(string path)
+ => Path.EndsInDirectorySeparator(path);
+#endif
+
#if FEATURE_FILESYSTEM_NET7
///
- public override bool Exists([NotNullWhen(true)] string? path)
+ public bool Exists([NotNullWhen(true)] string? path)
=> Path.Exists(path);
#endif
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetDirectoryName(ReadOnlySpan path)
+ => Path.GetDirectoryName(path);
+#endif
+
+ ///
+ public string? GetDirectoryName(string? path)
+ => Path.GetDirectoryName(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetExtension(ReadOnlySpan path)
+ => Path.GetExtension(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetExtension(string? path)
+ => Path.GetExtension(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetFileName(ReadOnlySpan path)
+ => Path.GetFileName(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetFileName(string? path)
+ => Path.GetFileName(path);
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path)
+ => Path.GetFileNameWithoutExtension(path);
+#endif
+
+ ///
+ [return: NotNullIfNotNull("path")]
+ public string? GetFileNameWithoutExtension(string? path)
+ => Path.GetFileNameWithoutExtension(path);
+
+ ///
+ public string GetFullPath(string path)
+ => Path.GetFullPath(path);
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public string GetFullPath(string path, string basePath)
+ => Path.GetFullPath(path, basePath);
+#endif
+
+ ///
+ public char[] GetInvalidFileNameChars()
+ => Path.GetInvalidFileNameChars();
+
+ ///
+ public char[] GetInvalidPathChars()
+ => Path.GetInvalidPathChars();
+
+#if FEATURE_SPAN
+ ///
+ public ReadOnlySpan GetPathRoot(ReadOnlySpan path)
+ => Path.GetPathRoot(path);
+#endif
+
+ ///
+ public string? GetPathRoot(string? path)
+ => Path.GetPathRoot(path);
+
+ ///
+ public string GetRandomFileName()
+ => Path.GetRandomFileName();
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public string GetRelativePath(string relativeTo, string path)
+ => Path.GetRelativePath(relativeTo, path);
+#endif
+
+ ///
+#if !NETSTANDARD2_0
+ [Obsolete(
+ "Insecure temporary file creation methods should not be used. Use `Path.Combine(Path.GetTempPath(), Path.GetRandomFileName())` instead.")]
+#endif
+ public string GetTempFileName()
+ => Path.GetTempFileName();
+
+ ///
+ public string GetTempPath()
+ => Path.GetTempPath();
+
+#if FEATURE_SPAN
+ ///
+ public bool HasExtension(ReadOnlySpan path)
+ => Path.HasExtension(path);
+#endif
+
+ ///
+ public bool HasExtension([NotNullWhen(true)] string? path)
+ => Path.HasExtension(path);
+
+#if FEATURE_SPAN
+ ///
+ public bool IsPathFullyQualified(ReadOnlySpan path)
+ => Path.IsPathFullyQualified(path);
+#endif
+
+#if FEATURE_PATH_RELATIVE
+ ///
+ public bool IsPathFullyQualified(string path)
+ => Path.IsPathFullyQualified(path);
+#endif
+
+#if FEATURE_SPAN
+ ///
+ public bool IsPathRooted(ReadOnlySpan path)
+ => Path.IsPathRooted(path);
+#endif
+
+ ///
+ public bool IsPathRooted(string? path)
+ => Path.IsPathRooted(path);
+
+#if FEATURE_PATH_JOIN
+ ///
+ public string Join(ReadOnlySpan path1, ReadOnlySpan path2)
+ => Path.Join(path1, path2);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public string Join(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3)
+ => Path.Join(path1, path2, path3);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3,
+ ReadOnlySpan path4)
+ => Path.Join(path1, path2, path3, path4);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2)
+ => Path.Join(path1, path2);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2, string? path3)
+ => Path.Join(path1, path2, path3);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(string? path1, string? path2, string? path3, string? path4)
+ => Path.Join(path1, path2, path3, path4);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string Join(params string?[] paths)
+ => Path.Join(paths);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path)
+ => Path.TrimEndingDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_ADVANCED
+ ///
+ public string TrimEndingDirectorySeparator(string path)
+ => Path.TrimEndingDirectorySeparator(path);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public bool TryJoin(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ Span destination,
+ out int charsWritten)
+ => Path.TryJoin(path1, path2, destination, out charsWritten);
+#endif
+
+#if FEATURE_PATH_JOIN
+ ///
+ public bool TryJoin(ReadOnlySpan path1,
+ ReadOnlySpan path2,
+ ReadOnlySpan path3,
+ Span destination,
+ out int charsWritten)
+ => Path.TryJoin(path1, path2, path3, destination, out charsWritten);
+#endif
+
+ #endregion
}
diff --git a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net6.0.txt b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net6.0.txt
index 1d027049c..7a422a6e0 100644
--- a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net6.0.txt
+++ b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net6.0.txt
@@ -24,6 +24,7 @@ namespace Testably.Abstractions.Helpers
void StoreMetadata(string key, T? value);
bool TryGetWrappedInstance([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? wrappedInstance);
}
+ [System.Obsolete("Will be removed in a future version!")]
public abstract class PathSystemBase : System.IO.Abstractions.IFileSystemEntity, System.IO.Abstractions.IPath
{
protected PathSystemBase(System.IO.Abstractions.IFileSystem fileSystem) { }
diff --git a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net7.0.txt b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net7.0.txt
index 275897c47..c6772ff12 100644
--- a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net7.0.txt
+++ b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net7.0.txt
@@ -28,6 +28,7 @@ namespace Testably.Abstractions.Helpers
void StoreMetadata(string key, T? value);
bool TryGetWrappedInstance([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? wrappedInstance);
}
+ [System.Obsolete("Will be removed in a future version!")]
public abstract class PathSystemBase : System.IO.Abstractions.IFileSystemEntity, System.IO.Abstractions.IPath
{
protected PathSystemBase(System.IO.Abstractions.IFileSystem fileSystem) { }
diff --git a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net8.0.txt b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net8.0.txt
index dd2048a37..cee8a781e 100644
--- a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net8.0.txt
+++ b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_net8.0.txt
@@ -28,6 +28,7 @@ namespace Testably.Abstractions.Helpers
void StoreMetadata(string key, T? value);
bool TryGetWrappedInstance([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? wrappedInstance);
}
+ [System.Obsolete("Will be removed in a future version!")]
public abstract class PathSystemBase : System.IO.Abstractions.IFileSystemEntity, System.IO.Abstractions.IPath
{
protected PathSystemBase(System.IO.Abstractions.IFileSystem fileSystem) { }
diff --git a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.0.txt b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.0.txt
index 2856eed15..52d7b650a 100644
--- a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.0.txt
+++ b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.0.txt
@@ -16,6 +16,7 @@ namespace Testably.Abstractions.Helpers
void StoreMetadata(string key, T? value);
bool TryGetWrappedInstance([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? wrappedInstance);
}
+ [System.Obsolete]
public abstract class PathSystemBase : System.IO.Abstractions.IFileSystemEntity, System.IO.Abstractions.IPath
{
protected PathSystemBase(System.IO.Abstractions.IFileSystem fileSystem) { }
diff --git a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.1.txt b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.1.txt
index b1da22d0d..2f0b70542 100644
--- a/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.1.txt
+++ b/Tests/Api/Testably.Abstractions.Api.Tests/Expected/Testably.Abstractions.Interface_netstandard2.1.txt
@@ -24,6 +24,7 @@ namespace Testably.Abstractions.Helpers
void StoreMetadata(string key, T? value);
bool TryGetWrappedInstance([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? wrappedInstance);
}
+ [System.Obsolete("Will be removed in a future version!")]
public abstract class PathSystemBase : System.IO.Abstractions.IFileSystemEntity, System.IO.Abstractions.IPath
{
protected PathSystemBase(System.IO.Abstractions.IFileSystem fileSystem) { }
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Helpers/EnumerationOptionsHelperTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Helpers/EnumerationOptionsHelperTests.cs
index 467a00935..6900f5967 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Helpers/EnumerationOptionsHelperTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Helpers/EnumerationOptionsHelperTests.cs
@@ -29,7 +29,7 @@ public void MatchesPattern_InvalidMatchType_ShouldThrowArgumentOutOfRangeExcepti
Exception? exception = Record.Exception(() =>
{
- EnumerationOptionsHelper.MatchesPattern(Execute.Default,
+ EnumerationOptionsHelper.MatchesPattern(new Execute(new MockFileSystem()),
invalidEnumerationOptions,
"foo", "*");
});
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteExtensionsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteExtensionsTests.cs
index 1e3f4d71f..82d9b5f89 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteExtensionsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteExtensionsTests.cs
@@ -211,10 +211,10 @@ public void OnWindowsIf_ShouldExecuteDependingOnOperatingSystem(
private static Execute FromType(ExecuteType type)
=> type switch
{
- ExecuteType.Windows => new Execute(OSPlatform.Windows),
- ExecuteType.Linux => new Execute(OSPlatform.Linux),
- ExecuteType.Mac => new Execute(OSPlatform.OSX),
- ExecuteType.NetFramework => new Execute(OSPlatform.Windows, true),
+ ExecuteType.Windows => new Execute(new MockFileSystem(), OSPlatform.Windows),
+ ExecuteType.Linux => new Execute(new MockFileSystem(), OSPlatform.Linux),
+ ExecuteType.Mac => new Execute(new MockFileSystem(), OSPlatform.OSX),
+ ExecuteType.NetFramework => new Execute(new MockFileSystem(), OSPlatform.Windows, true),
_ => throw new NotSupportedException()
};
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteTests.cs
index b0ec7debd..186964215 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Helpers/ExecuteTests.cs
@@ -8,7 +8,7 @@ public sealed class ExecuteTests
[Fact]
public void Constructor_ForLinux_ShouldInitializeAccordingly()
{
- Execute sut = new(OSPlatform.Linux);
+ Execute sut = new(new MockFileSystem(), OSPlatform.Linux);
sut.IsLinux.Should().BeTrue();
sut.IsMac.Should().BeFalse();
@@ -20,7 +20,7 @@ public void Constructor_ForLinux_ShouldInitializeAccordingly()
[Fact]
public void Constructor_ForNetFramework_ShouldInitializeAccordingly()
{
- Execute sut = new(OSPlatform.Windows, true);
+ Execute sut = new(new MockFileSystem(), OSPlatform.Windows, true);
sut.IsLinux.Should().BeFalse();
sut.IsMac.Should().BeFalse();
@@ -32,7 +32,7 @@ public void Constructor_ForNetFramework_ShouldInitializeAccordingly()
[Fact]
public void Constructor_ForNetFramework_WithLinux_ShouldInitializeLinux()
{
- Execute sut = new(OSPlatform.Linux, true);
+ Execute sut = new(new MockFileSystem(), OSPlatform.Linux, true);
sut.IsLinux.Should().BeTrue();
sut.IsMac.Should().BeFalse();
@@ -44,7 +44,7 @@ public void Constructor_ForNetFramework_WithLinux_ShouldInitializeLinux()
[Fact]
public void Constructor_ForNetFramework_WithOSX_ShouldInitializeMac()
{
- Execute sut = new(OSPlatform.OSX, true);
+ Execute sut = new(new MockFileSystem(), OSPlatform.OSX, true);
sut.IsLinux.Should().BeFalse();
sut.IsMac.Should().BeTrue();
@@ -56,7 +56,7 @@ public void Constructor_ForNetFramework_WithOSX_ShouldInitializeMac()
[Fact]
public void Constructor_ForOSX_ShouldInitializeAccordingly()
{
- Execute sut = new(OSPlatform.OSX);
+ Execute sut = new(new MockFileSystem(), OSPlatform.OSX);
sut.IsLinux.Should().BeFalse();
sut.IsMac.Should().BeTrue();
@@ -68,7 +68,7 @@ public void Constructor_ForOSX_ShouldInitializeAccordingly()
[Fact]
public void Constructor_ForWindows_ShouldInitializeAccordingly()
{
- Execute sut = new(OSPlatform.Windows);
+ Execute sut = new(new MockFileSystem(), OSPlatform.Windows);
sut.IsLinux.Should().BeFalse();
sut.IsMac.Should().BeFalse();
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoFactoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoFactoryStatisticsTests.cs
index 53c7eb2ae..11c2435a8 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoFactoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoFactoryStatisticsTests.cs
@@ -14,6 +14,7 @@ public void Method_New_String_ShouldRegisterCall()
sut.DirectoryInfo.New(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.DirectoryInfo.ShouldOnlyContainMethodCall(nameof(IDirectoryInfoFactory.New),
path);
}
@@ -26,6 +27,7 @@ public void Method_Wrap_DirectoryInfo_ShouldRegisterCall()
sut.DirectoryInfo.Wrap(directoryInfo);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.DirectoryInfo.ShouldOnlyContainMethodCall(nameof(IDirectoryInfoFactory.Wrap),
directoryInfo);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoStatisticsTests.cs
index 733dcbb65..477a7eb23 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryInfoStatisticsTests.cs
@@ -13,6 +13,7 @@ public void Method_Create_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").Create();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.Create));
}
@@ -26,6 +27,7 @@ public void Method_CreateAsSymbolicLink_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").CreateAsSymbolicLink(pathToTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.CreateAsSymbolicLink),
pathToTarget);
@@ -40,6 +42,7 @@ public void Method_CreateSubdirectory_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").CreateSubdirectory(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.CreateSubdirectory),
path);
@@ -54,6 +57,7 @@ public void Method_Delete_Bool_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").Delete(recursive);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.Delete),
recursive);
@@ -67,6 +71,7 @@ public void Method_Delete_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").Delete();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.Delete));
}
@@ -78,6 +83,7 @@ public void Method_EnumerateDirectories_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateDirectories();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateDirectories));
}
@@ -92,6 +98,7 @@ public void Method_EnumerateDirectories_String_EnumerationOptions_ShouldRegister
sut.DirectoryInfo.New("foo").EnumerateDirectories(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateDirectories),
searchPattern, enumerationOptions);
@@ -107,6 +114,7 @@ public void Method_EnumerateDirectories_String_SearchOption_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateDirectories(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateDirectories),
searchPattern, searchOption);
@@ -120,6 +128,7 @@ public void Method_EnumerateDirectories_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateDirectories(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateDirectories),
searchPattern);
@@ -132,6 +141,7 @@ public void Method_EnumerateFiles_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFiles();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFiles));
}
@@ -146,6 +156,7 @@ public void Method_EnumerateFiles_String_EnumerationOptions_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFiles(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFiles),
searchPattern, enumerationOptions);
@@ -161,6 +172,7 @@ public void Method_EnumerateFiles_String_SearchOption_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFiles(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFiles),
searchPattern, searchOption);
@@ -174,6 +186,7 @@ public void Method_EnumerateFiles_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFiles(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFiles),
searchPattern);
@@ -186,6 +199,7 @@ public void Method_EnumerateFileSystemInfos_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFileSystemInfos();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFileSystemInfos));
}
@@ -200,6 +214,7 @@ public void Method_EnumerateFileSystemInfos_String_EnumerationOptions_ShouldRegi
sut.DirectoryInfo.New("foo").EnumerateFileSystemInfos(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFileSystemInfos),
searchPattern, enumerationOptions);
@@ -215,6 +230,7 @@ public void Method_EnumerateFileSystemInfos_String_SearchOption_ShouldRegisterCa
sut.DirectoryInfo.New("foo").EnumerateFileSystemInfos(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFileSystemInfos),
searchPattern, searchOption);
@@ -228,6 +244,7 @@ public void Method_EnumerateFileSystemInfos_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").EnumerateFileSystemInfos(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.EnumerateFileSystemInfos),
searchPattern);
@@ -241,6 +258,7 @@ public void Method_GetDirectories_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetDirectories();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetDirectories));
}
@@ -256,6 +274,7 @@ public void Method_GetDirectories_String_EnumerationOptions_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetDirectories(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetDirectories),
searchPattern, enumerationOptions);
@@ -272,6 +291,7 @@ public void Method_GetDirectories_String_SearchOption_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetDirectories(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetDirectories),
searchPattern, searchOption);
@@ -286,6 +306,7 @@ public void Method_GetDirectories_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetDirectories(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetDirectories),
searchPattern);
@@ -299,6 +320,7 @@ public void Method_GetFiles_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFiles();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFiles));
}
@@ -314,6 +336,7 @@ public void Method_GetFiles_String_EnumerationOptions_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFiles(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFiles),
searchPattern, enumerationOptions);
@@ -330,6 +353,7 @@ public void Method_GetFiles_String_SearchOption_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFiles(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFiles),
searchPattern, searchOption);
@@ -344,6 +368,7 @@ public void Method_GetFiles_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFiles(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFiles),
searchPattern);
@@ -357,6 +382,7 @@ public void Method_GetFileSystemInfos_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFileSystemInfos();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFileSystemInfos));
}
@@ -372,6 +398,7 @@ public void Method_GetFileSystemInfos_String_EnumerationOptions_ShouldRegisterCa
sut.DirectoryInfo.New("foo").GetFileSystemInfos(searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFileSystemInfos),
searchPattern, enumerationOptions);
@@ -388,6 +415,7 @@ public void Method_GetFileSystemInfos_String_SearchOption_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFileSystemInfos(searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFileSystemInfos),
searchPattern, searchOption);
@@ -402,6 +430,7 @@ public void Method_GetFileSystemInfos_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").GetFileSystemInfos(searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.GetFileSystemInfos),
searchPattern);
@@ -416,6 +445,7 @@ public void Method_MoveTo_String_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").MoveTo(destDirName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.MoveTo),
destDirName);
@@ -428,6 +458,7 @@ public void Method_Refresh_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").Refresh();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.Refresh));
}
@@ -441,6 +472,7 @@ public void Method_ResolveLinkTarget_Bool_ShouldRegisterCall()
sut.DirectoryInfo.New("foo").ResolveLinkTarget(returnFinalTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IDirectoryInfo.ResolveLinkTarget),
returnFinalTarget);
@@ -454,6 +486,7 @@ public void Property_Attributes_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Attributes;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Attributes));
}
@@ -467,6 +500,7 @@ public void Property_Attributes_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").Attributes = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.Attributes));
}
@@ -479,6 +513,7 @@ public void Property_CreationTime_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").CreationTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.CreationTime));
}
@@ -492,6 +527,7 @@ public void Property_CreationTime_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").CreationTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.CreationTime));
}
@@ -504,6 +540,7 @@ public void Property_CreationTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").CreationTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.CreationTimeUtc));
}
@@ -517,6 +554,7 @@ public void Property_CreationTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").CreationTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.CreationTimeUtc));
}
@@ -529,6 +567,7 @@ public void Property_Exists_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Exists;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Exists));
}
@@ -541,6 +580,7 @@ public void Property_Extension_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Extension;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Extension));
}
@@ -553,6 +593,7 @@ public void Property_FullName_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").FullName;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.FullName));
}
@@ -565,6 +606,7 @@ public void Property_LastAccessTime_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").LastAccessTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.LastAccessTime));
}
@@ -578,6 +620,7 @@ public void Property_LastAccessTime_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").LastAccessTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.LastAccessTime));
}
@@ -590,6 +633,7 @@ public void Property_LastAccessTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").LastAccessTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.LastAccessTimeUtc));
}
@@ -603,6 +647,7 @@ public void Property_LastAccessTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").LastAccessTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.LastAccessTimeUtc));
}
@@ -615,6 +660,7 @@ public void Property_LastWriteTime_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").LastWriteTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.LastWriteTime));
}
@@ -628,6 +674,7 @@ public void Property_LastWriteTime_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").LastWriteTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.LastWriteTime));
}
@@ -640,6 +687,7 @@ public void Property_LastWriteTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").LastWriteTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.LastWriteTimeUtc));
}
@@ -653,6 +701,7 @@ public void Property_LastWriteTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").LastWriteTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.LastWriteTimeUtc));
}
@@ -666,6 +715,7 @@ public void Property_LinkTarget_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").LinkTarget;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.LinkTarget));
}
@@ -679,6 +729,7 @@ public void Property_Name_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Name;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Name));
}
@@ -691,6 +742,7 @@ public void Property_Parent_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Parent;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Parent));
}
@@ -703,6 +755,7 @@ public void Property_Root_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").Root;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.Root));
}
@@ -716,6 +769,7 @@ public void Property_UnixFileMode_Get_ShouldRegisterPropertyAccess()
_ = sut.DirectoryInfo.New("foo").UnixFileMode;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDirectoryInfo.UnixFileMode));
}
@@ -735,6 +789,7 @@ public void Property_UnixFileMode_Set_ShouldRegisterPropertyAccess()
sut.DirectoryInfo.New("foo").UnixFileMode = value;
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DirectoryInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IDirectoryInfo.UnixFileMode));
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryStatisticsTests.cs
index 6e149232f..ea6339324 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DirectoryStatisticsTests.cs
@@ -14,6 +14,7 @@ public void Method_CreateDirectory_String_ShouldRegisterCall()
sut.Directory.CreateDirectory(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.CreateDirectory),
path);
}
@@ -30,6 +31,7 @@ public void Method_CreateDirectory_String_UnixFileMode_ShouldRegisterCall()
sut.Directory.CreateDirectory(path, unixCreateMode);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.CreateDirectory),
path, unixCreateMode);
}
@@ -45,6 +47,7 @@ public void Method_CreateSymbolicLink_String_String_ShouldRegisterCall()
sut.Directory.CreateSymbolicLink(path, pathToTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.CreateSymbolicLink),
path, pathToTarget);
}
@@ -59,6 +62,7 @@ public void Method_CreateTempSubdirectory_String_ShouldRegisterCall()
sut.Directory.CreateTempSubdirectory(prefix);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.CreateTempSubdirectory),
prefix);
@@ -75,6 +79,7 @@ public void Method_Delete_String_Bool_ShouldRegisterCall()
sut.Directory.Delete(path, recursive);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.Delete),
path, recursive);
}
@@ -88,6 +93,7 @@ public void Method_Delete_String_ShouldRegisterCall()
sut.Directory.Delete(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.Delete),
path);
}
@@ -100,6 +106,7 @@ public void Method_EnumerateDirectories_String_ShouldRegisterCall()
sut.Directory.EnumerateDirectories(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateDirectories),
path);
@@ -116,6 +123,7 @@ public void Method_EnumerateDirectories_String_String_EnumerationOptions_ShouldR
sut.Directory.EnumerateDirectories(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateDirectories),
path, searchPattern, enumerationOptions);
@@ -132,6 +140,7 @@ public void Method_EnumerateDirectories_String_String_SearchOption_ShouldRegiste
sut.Directory.EnumerateDirectories(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateDirectories),
path, searchPattern, searchOption);
@@ -146,6 +155,7 @@ public void Method_EnumerateDirectories_String_String_ShouldRegisterCall()
sut.Directory.EnumerateDirectories(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateDirectories),
path, searchPattern);
@@ -159,6 +169,7 @@ public void Method_EnumerateFiles_String_ShouldRegisterCall()
sut.Directory.EnumerateFiles(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.EnumerateFiles),
path);
}
@@ -174,6 +185,7 @@ public void Method_EnumerateFiles_String_String_EnumerationOptions_ShouldRegiste
sut.Directory.EnumerateFiles(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.EnumerateFiles),
path, searchPattern, enumerationOptions);
}
@@ -189,6 +201,7 @@ public void Method_EnumerateFiles_String_String_SearchOption_ShouldRegisterCall(
sut.Directory.EnumerateFiles(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.EnumerateFiles),
path, searchPattern, searchOption);
}
@@ -202,6 +215,7 @@ public void Method_EnumerateFiles_String_String_ShouldRegisterCall()
sut.Directory.EnumerateFiles(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.EnumerateFiles),
path, searchPattern);
}
@@ -214,6 +228,7 @@ public void Method_EnumerateFileSystemEntries_String_ShouldRegisterCall()
sut.Directory.EnumerateFileSystemEntries(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateFileSystemEntries),
path);
@@ -231,6 +246,7 @@ public void
sut.Directory.EnumerateFileSystemEntries(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateFileSystemEntries),
path, searchPattern, enumerationOptions);
@@ -247,6 +263,7 @@ public void Method_EnumerateFileSystemEntries_String_String_SearchOption_ShouldR
sut.Directory.EnumerateFileSystemEntries(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateFileSystemEntries),
path, searchPattern, searchOption);
@@ -261,6 +278,7 @@ public void Method_EnumerateFileSystemEntries_String_String_ShouldRegisterCall()
sut.Directory.EnumerateFileSystemEntries(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.EnumerateFileSystemEntries),
path, searchPattern);
@@ -274,6 +292,7 @@ public void Method_Exists_String_ShouldRegisterCall()
sut.Directory.Exists(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.Exists),
path);
}
@@ -286,6 +305,7 @@ public void Method_GetCreationTime_String_ShouldRegisterCall()
sut.Directory.GetCreationTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetCreationTime),
path);
}
@@ -298,6 +318,7 @@ public void Method_GetCreationTimeUtc_String_ShouldRegisterCall()
sut.Directory.GetCreationTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetCreationTimeUtc),
path);
}
@@ -309,6 +330,7 @@ public void Method_GetCurrentDirectory_ShouldRegisterCall()
sut.Directory.GetCurrentDirectory();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetCurrentDirectory));
}
@@ -322,6 +344,7 @@ public void Method_GetDirectories_String_ShouldRegisterCall()
sut.Directory.GetDirectories(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetDirectories),
path);
}
@@ -338,6 +361,7 @@ public void Method_GetDirectories_String_String_EnumerationOptions_ShouldRegiste
sut.Directory.GetDirectories(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetDirectories),
path, searchPattern, enumerationOptions);
}
@@ -354,6 +378,7 @@ public void Method_GetDirectories_String_String_SearchOption_ShouldRegisterCall(
sut.Directory.GetDirectories(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetDirectories),
path, searchPattern, searchOption);
}
@@ -368,6 +393,7 @@ public void Method_GetDirectories_String_String_ShouldRegisterCall()
sut.Directory.GetDirectories(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetDirectories),
path, searchPattern);
}
@@ -380,6 +406,7 @@ public void Method_GetDirectoryRoot_String_ShouldRegisterCall()
sut.Directory.GetDirectoryRoot(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetDirectoryRoot),
path);
}
@@ -393,6 +420,7 @@ public void Method_GetFiles_String_ShouldRegisterCall()
sut.Directory.GetFiles(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetFiles),
path);
}
@@ -409,6 +437,7 @@ public void Method_GetFiles_String_String_EnumerationOptions_ShouldRegisterCall(
sut.Directory.GetFiles(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetFiles),
path, searchPattern, enumerationOptions);
}
@@ -425,6 +454,7 @@ public void Method_GetFiles_String_String_SearchOption_ShouldRegisterCall()
sut.Directory.GetFiles(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetFiles),
path, searchPattern, searchOption);
}
@@ -439,6 +469,7 @@ public void Method_GetFiles_String_String_ShouldRegisterCall()
sut.Directory.GetFiles(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetFiles),
path, searchPattern);
}
@@ -452,6 +483,7 @@ public void Method_GetFileSystemEntries_String_ShouldRegisterCall()
sut.Directory.GetFileSystemEntries(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetFileSystemEntries),
path);
@@ -469,6 +501,7 @@ public void Method_GetFileSystemEntries_String_String_EnumerationOptions_ShouldR
sut.Directory.GetFileSystemEntries(path, searchPattern, enumerationOptions);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetFileSystemEntries),
path, searchPattern, enumerationOptions);
@@ -486,6 +519,7 @@ public void Method_GetFileSystemEntries_String_String_SearchOption_ShouldRegiste
sut.Directory.GetFileSystemEntries(path, searchPattern, searchOption);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetFileSystemEntries),
path, searchPattern, searchOption);
@@ -501,6 +535,7 @@ public void Method_GetFileSystemEntries_String_String_ShouldRegisterCall()
sut.Directory.GetFileSystemEntries(path, searchPattern);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetFileSystemEntries),
path, searchPattern);
@@ -514,6 +549,7 @@ public void Method_GetLastAccessTime_String_ShouldRegisterCall()
sut.Directory.GetLastAccessTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetLastAccessTime),
path);
}
@@ -526,6 +562,7 @@ public void Method_GetLastAccessTimeUtc_String_ShouldRegisterCall()
sut.Directory.GetLastAccessTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.GetLastAccessTimeUtc),
path);
@@ -539,6 +576,7 @@ public void Method_GetLastWriteTime_String_ShouldRegisterCall()
sut.Directory.GetLastWriteTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetLastWriteTime),
path);
}
@@ -551,6 +589,7 @@ public void Method_GetLastWriteTimeUtc_String_ShouldRegisterCall()
sut.Directory.GetLastWriteTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetLastWriteTimeUtc),
path);
}
@@ -562,6 +601,7 @@ public void Method_GetLogicalDrives_ShouldRegisterCall()
sut.Directory.GetLogicalDrives();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetLogicalDrives));
}
@@ -573,6 +613,7 @@ public void Method_GetParent_String_ShouldRegisterCall()
sut.Directory.GetParent(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.GetParent),
path);
}
@@ -587,6 +628,7 @@ public void Method_Move_String_String_ShouldRegisterCall()
sut.Directory.Move(sourceDirName, destDirName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.Move),
sourceDirName, destDirName);
}
@@ -601,6 +643,7 @@ public void Method_ResolveLinkTarget_String_Bool_ShouldRegisterCall()
sut.Directory.ResolveLinkTarget(linkPath, returnFinalTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.ResolveLinkTarget),
linkPath, returnFinalTarget);
}
@@ -616,6 +659,7 @@ public void Method_SetCreationTime_String_DateTime_ShouldRegisterCall()
sut.Directory.SetCreationTime(path, creationTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetCreationTime),
path, creationTime);
}
@@ -630,6 +674,7 @@ public void Method_SetCreationTimeUtc_String_DateTime_ShouldRegisterCall()
sut.Directory.SetCreationTimeUtc(path, creationTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetCreationTimeUtc),
path, creationTimeUtc);
}
@@ -643,6 +688,7 @@ public void Method_SetCurrentDirectory_String_ShouldRegisterCall()
sut.Directory.SetCurrentDirectory(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetCurrentDirectory),
path);
}
@@ -657,6 +703,7 @@ public void Method_SetLastAccessTime_String_DateTime_ShouldRegisterCall()
sut.Directory.SetLastAccessTime(path, lastAccessTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetLastAccessTime),
path, lastAccessTime);
}
@@ -671,6 +718,7 @@ public void Method_SetLastAccessTimeUtc_String_DateTime_ShouldRegisterCall()
sut.Directory.SetLastAccessTimeUtc(path, lastAccessTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(
nameof(IDirectory.SetLastAccessTimeUtc),
path, lastAccessTimeUtc);
@@ -686,6 +734,7 @@ public void Method_SetLastWriteTime_String_DateTime_ShouldRegisterCall()
sut.Directory.SetLastWriteTime(path, lastWriteTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetLastWriteTime),
path, lastWriteTime);
}
@@ -700,6 +749,7 @@ public void Method_SetLastWriteTimeUtc_String_DateTime_ShouldRegisterCall()
sut.Directory.SetLastWriteTimeUtc(path, lastWriteTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Directory.ShouldOnlyContainMethodCall(nameof(IDirectory.SetLastWriteTimeUtc),
path, lastWriteTimeUtc);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoFactoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoFactoryStatisticsTests.cs
index 3f14ded1d..d289b51f0 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoFactoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoFactoryStatisticsTests.cs
@@ -14,6 +14,7 @@ public void Method_GetDrives_ShouldRegisterCall()
sut.DriveInfo.GetDrives();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.DriveInfo.ShouldOnlyContainMethodCall(nameof(IDriveInfoFactory.GetDrives));
}
@@ -25,6 +26,7 @@ public void Method_New_String_ShouldRegisterCall()
sut.DriveInfo.New(driveName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.DriveInfo.ShouldOnlyContainMethodCall(nameof(IDriveInfoFactory.New),
driveName);
}
@@ -37,6 +39,7 @@ public void Method_Wrap_DriveInfo_ShouldRegisterCall()
sut.DriveInfo.Wrap(driveInfo);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.DriveInfo.ShouldOnlyContainMethodCall(nameof(IDriveInfoFactory.Wrap),
driveInfo);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoStatisticsTests.cs
index 558af657d..7c7ea7159 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/DriveInfoStatisticsTests.cs
@@ -14,6 +14,7 @@ public void Property_AvailableFreeSpace_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").AvailableFreeSpace;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.AvailableFreeSpace));
}
@@ -27,6 +28,7 @@ public void Property_DriveFormat_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").DriveFormat;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.DriveFormat));
}
@@ -40,6 +42,7 @@ public void Property_DriveType_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").DriveType;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.DriveType));
}
@@ -53,6 +56,7 @@ public void Property_IsReady_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").IsReady;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.IsReady));
}
@@ -66,6 +70,7 @@ public void Property_Name_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").Name;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"].ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.Name));
}
@@ -78,6 +83,7 @@ public void Property_RootDirectory_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").RootDirectory;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.RootDirectory));
}
@@ -91,6 +97,7 @@ public void Property_TotalFreeSpace_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").TotalFreeSpace;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.TotalFreeSpace));
}
@@ -104,6 +111,7 @@ public void Property_TotalSize_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").TotalSize;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.TotalSize));
}
@@ -117,6 +125,7 @@ public void Property_VolumeLabel_Get_ShouldRegisterPropertyAccess()
_ = sut.DriveInfo.New("F:").VolumeLabel;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertyGetAccess(nameof(IDriveInfo.VolumeLabel));
}
@@ -133,6 +142,7 @@ public void Property_VolumeLabel_Set_ShouldRegisterPropertyAccess()
sut.DriveInfo.New("F:").VolumeLabel = value;
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.DriveInfo["F:"]
.ShouldOnlyContainPropertySetAccess(nameof(IDriveInfo.VolumeLabel));
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoFactoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoFactoryStatisticsTests.cs
index 217190a06..794c216e0 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoFactoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoFactoryStatisticsTests.cs
@@ -14,6 +14,7 @@ public void Method_New_String_ShouldRegisterCall()
sut.FileInfo.New(fileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileInfo.ShouldOnlyContainMethodCall(nameof(IFileInfoFactory.New),
fileName);
}
@@ -26,6 +27,7 @@ public void Method_Wrap_FileInfo_ShouldRegisterCall()
sut.FileInfo.Wrap(fileInfo);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileInfo.ShouldOnlyContainMethodCall(nameof(IFileInfoFactory.Wrap),
fileInfo);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoStatisticsTests.cs
index a65e5862b..02705fd07 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileInfoStatisticsTests.cs
@@ -13,6 +13,7 @@ public void Method_AppendText_ShouldRegisterCall()
sut.FileInfo.New("foo").AppendText();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.AppendText));
}
@@ -27,6 +28,7 @@ public void Method_CopyTo_String_Bool_ShouldRegisterCall()
sut.FileInfo.New("foo").CopyTo(destFileName, overwrite);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.CopyTo),
destFileName, overwrite);
@@ -41,6 +43,7 @@ public void Method_CopyTo_String_ShouldRegisterCall()
sut.FileInfo.New("foo").CopyTo(destFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.CopyTo),
destFileName);
@@ -53,6 +56,7 @@ public void Method_Create_ShouldRegisterCall()
sut.FileInfo.New("foo").Create();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Create));
}
@@ -66,6 +70,7 @@ public void Method_CreateAsSymbolicLink_String_ShouldRegisterCall()
sut.FileInfo.New("foo").CreateAsSymbolicLink(pathToTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.CreateAsSymbolicLink),
pathToTarget);
@@ -79,6 +84,7 @@ public void Method_CreateText_ShouldRegisterCall()
sut.FileInfo.New("foo").CreateText();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.CreateText));
}
@@ -94,6 +100,7 @@ public void Method_Decrypt_ShouldRegisterCall()
sut.FileInfo.New("foo").Decrypt();
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Decrypt));
}
@@ -106,6 +113,7 @@ public void Method_Delete_ShouldRegisterCall()
sut.FileInfo.New("foo").Delete();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Delete));
}
@@ -121,6 +129,7 @@ public void Method_Encrypt_ShouldRegisterCall()
sut.FileInfo.New("foo").Encrypt();
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Encrypt));
}
@@ -136,6 +145,7 @@ public void Method_MoveTo_String_Bool_ShouldRegisterCall()
sut.FileInfo.New("foo").MoveTo(destFileName, overwrite);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.MoveTo),
destFileName, overwrite);
@@ -151,6 +161,7 @@ public void Method_MoveTo_String_ShouldRegisterCall()
sut.FileInfo.New("foo").MoveTo(destFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.MoveTo),
destFileName);
@@ -166,6 +177,7 @@ public void Method_Open_FileMode_FileAccess_FileShare_ShouldRegisterCall()
sut.FileInfo.New("foo").Open(mode, access, share);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Open),
mode, access, share);
@@ -180,6 +192,7 @@ public void Method_Open_FileMode_FileAccess_ShouldRegisterCall()
sut.FileInfo.New("foo").Open(mode, access);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Open),
mode, access);
@@ -193,6 +206,7 @@ public void Method_Open_FileMode_ShouldRegisterCall()
sut.FileInfo.New("foo").Open(mode);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Open),
mode);
@@ -208,6 +222,7 @@ public void Method_Open_FileStreamOptions_ShouldRegisterCall()
sut.FileInfo.New("foo").Open(options);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Open),
options);
@@ -222,6 +237,7 @@ public void Method_OpenRead_ShouldRegisterCall()
sut.FileInfo.New("foo").OpenRead();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.OpenRead));
}
@@ -234,6 +250,7 @@ public void Method_OpenText_ShouldRegisterCall()
sut.FileInfo.New("foo").OpenText();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.OpenText));
}
@@ -245,6 +262,7 @@ public void Method_OpenWrite_ShouldRegisterCall()
sut.FileInfo.New("foo").OpenWrite();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.OpenWrite));
}
@@ -256,6 +274,7 @@ public void Method_Refresh_ShouldRegisterCall()
sut.FileInfo.New("foo").Refresh();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Refresh));
}
@@ -272,6 +291,7 @@ public void Method_Replace_String_String_Bool_ShouldRegisterCall()
sut.FileInfo.New("foo").Replace(destinationFileName, destinationBackupFileName,
ignoreMetadataErrors);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Replace),
destinationFileName, destinationBackupFileName, ignoreMetadataErrors);
@@ -287,6 +307,7 @@ public void Method_Replace_String_String_ShouldRegisterCall()
sut.FileInfo.New("foo").Replace(destinationFileName, destinationBackupFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileInfo.Replace),
destinationFileName, destinationBackupFileName);
@@ -301,6 +322,7 @@ public void Method_ResolveLinkTarget_Bool_ShouldRegisterCall()
sut.FileInfo.New("foo").ResolveLinkTarget(returnFinalTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainMethodCall(
nameof(IFileInfo.ResolveLinkTarget),
@@ -316,6 +338,7 @@ public void Property_Attributes_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Attributes;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Attributes));
}
@@ -329,6 +352,7 @@ public void Property_Attributes_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").Attributes = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.Attributes));
}
@@ -341,6 +365,7 @@ public void Property_CreationTime_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").CreationTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.CreationTime));
}
@@ -354,6 +379,7 @@ public void Property_CreationTime_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").CreationTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.CreationTime));
}
@@ -366,6 +392,7 @@ public void Property_CreationTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").CreationTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.CreationTimeUtc));
}
@@ -379,6 +406,7 @@ public void Property_CreationTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").CreationTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.CreationTimeUtc));
}
@@ -391,6 +419,7 @@ public void Property_Directory_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Directory;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Directory));
}
@@ -403,6 +432,7 @@ public void Property_DirectoryName_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").DirectoryName;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.DirectoryName));
}
@@ -415,6 +445,7 @@ public void Property_Exists_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Exists;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"].ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Exists));
}
@@ -426,6 +457,7 @@ public void Property_Extension_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Extension;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Extension));
}
@@ -438,6 +470,7 @@ public void Property_FullName_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").FullName;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.FullName));
}
@@ -450,6 +483,7 @@ public void Property_IsReadOnly_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").IsReadOnly;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.IsReadOnly));
}
@@ -463,6 +497,7 @@ public void Property_IsReadOnly_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").IsReadOnly = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.IsReadOnly));
}
@@ -475,6 +510,7 @@ public void Property_LastAccessTime_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").LastAccessTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.LastAccessTime));
}
@@ -488,6 +524,7 @@ public void Property_LastAccessTime_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").LastAccessTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.LastAccessTime));
}
@@ -500,6 +537,7 @@ public void Property_LastAccessTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").LastAccessTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.LastAccessTimeUtc));
}
@@ -513,6 +551,7 @@ public void Property_LastAccessTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").LastAccessTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.LastAccessTimeUtc));
}
@@ -525,6 +564,7 @@ public void Property_LastWriteTime_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").LastWriteTime;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.LastWriteTime));
}
@@ -538,6 +578,7 @@ public void Property_LastWriteTime_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").LastWriteTime = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.LastWriteTime));
}
@@ -550,6 +591,7 @@ public void Property_LastWriteTimeUtc_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").LastWriteTimeUtc;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.LastWriteTimeUtc));
}
@@ -563,6 +605,7 @@ public void Property_LastWriteTimeUtc_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").LastWriteTimeUtc = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.LastWriteTimeUtc));
}
@@ -575,6 +618,7 @@ public void Property_Length_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Length;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"].ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Length));
}
@@ -587,6 +631,7 @@ public void Property_LinkTarget_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").LinkTarget;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.LinkTarget));
}
@@ -600,6 +645,7 @@ public void Property_Name_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").Name;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"].ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.Name));
}
@@ -612,6 +658,7 @@ public void Property_UnixFileMode_Get_ShouldRegisterPropertyAccess()
_ = sut.FileInfo.New("foo").UnixFileMode;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileInfo.UnixFileMode));
}
@@ -631,6 +678,7 @@ public void Property_UnixFileMode_Set_ShouldRegisterPropertyAccess()
sut.FileInfo.New("foo").UnixFileMode = value;
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileInfo["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileInfo.UnixFileMode));
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStatisticsTests.cs
index 5d59a866c..ff12cb434 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStatisticsTests.cs
@@ -27,6 +27,7 @@ public void Method_AppendAllLines_String_IEnumerableString_Encoding_ShouldRegist
sut.File.AppendAllLines(path, contents, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllLines),
path, contents, encoding);
}
@@ -40,6 +41,7 @@ public void Method_AppendAllLines_String_IEnumerableString_ShouldRegisterCall()
sut.File.AppendAllLines(path, contents);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllLines),
path, contents);
}
@@ -56,6 +58,7 @@ public async Task
await sut.File.AppendAllLinesAsync(path, contents, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllLinesAsync),
path, contents, cancellationToken);
}
@@ -74,6 +77,7 @@ public async Task
await sut.File.AppendAllLinesAsync(path, contents, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllLinesAsync),
path, contents, encoding, cancellationToken);
}
@@ -89,6 +93,7 @@ public void Method_AppendAllText_String_String_Encoding_ShouldRegisterCall()
sut.File.AppendAllText(path, contents, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllText),
path, contents, encoding);
}
@@ -102,6 +107,7 @@ public void Method_AppendAllText_String_String_ShouldRegisterCall()
sut.File.AppendAllText(path, contents);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllText),
path, contents);
}
@@ -117,6 +123,7 @@ public async Task Method_AppendAllTextAsync_String_String_CancellationToken_Shou
await sut.File.AppendAllTextAsync(path, contents, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllTextAsync),
path, contents, cancellationToken);
}
@@ -135,6 +142,7 @@ public async Task
await sut.File.AppendAllTextAsync(path, contents, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendAllTextAsync),
path, contents, encoding, cancellationToken);
}
@@ -148,6 +156,7 @@ public void Method_AppendText_String_ShouldRegisterCall()
sut.File.AppendText(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.AppendText),
path);
}
@@ -163,6 +172,7 @@ public void Method_Copy_String_String_Bool_ShouldRegisterCall()
sut.File.Copy(sourceFileName, destFileName, overwrite);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Copy),
sourceFileName, destFileName, overwrite);
}
@@ -177,6 +187,7 @@ public void Method_Copy_String_String_ShouldRegisterCall()
sut.File.Copy(sourceFileName, destFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Copy),
sourceFileName, destFileName);
}
@@ -191,6 +202,7 @@ public void Method_Create_String_Int_FileOptions_ShouldRegisterCall()
sut.File.Create(path, bufferSize, options);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Create),
path, bufferSize, options);
}
@@ -204,6 +216,7 @@ public void Method_Create_String_Int_ShouldRegisterCall()
sut.File.Create(path, bufferSize);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Create),
path, bufferSize);
}
@@ -216,6 +229,7 @@ public void Method_Create_String_ShouldRegisterCall()
sut.File.Create(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Create),
path);
}
@@ -230,6 +244,7 @@ public void Method_CreateSymbolicLink_String_String_ShouldRegisterCall()
sut.File.CreateSymbolicLink(path, pathToTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.CreateSymbolicLink),
path, pathToTarget);
}
@@ -243,6 +258,7 @@ public void Method_CreateText_String_ShouldRegisterCall()
sut.File.CreateText(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.CreateText),
path);
}
@@ -260,6 +276,7 @@ public void Method_Decrypt_String_ShouldRegisterCall()
sut.File.Decrypt(path);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Decrypt),
path);
}
@@ -273,6 +290,7 @@ public void Method_Delete_String_ShouldRegisterCall()
sut.File.Delete(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Delete),
path);
}
@@ -290,6 +308,7 @@ public void Method_Encrypt_String_ShouldRegisterCall()
sut.File.Encrypt(path);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Encrypt),
path);
}
@@ -302,6 +321,7 @@ public void Method_Exists_String_ShouldRegisterCall()
sut.File.Exists(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Exists),
path);
}
@@ -318,6 +338,7 @@ public void Method_GetAttributes_SafeFileHandle_ShouldRegisterCall()
sut.File.GetAttributes(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetAttributes),
fileHandle);
}
@@ -332,6 +353,7 @@ public void Method_GetAttributes_String_ShouldRegisterCall()
sut.File.GetAttributes(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetAttributes),
path);
}
@@ -348,6 +370,7 @@ public void Method_GetCreationTime_SafeFileHandle_ShouldRegisterCall()
sut.File.GetCreationTime(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetCreationTime),
fileHandle);
}
@@ -362,6 +385,7 @@ public void Method_GetCreationTime_String_ShouldRegisterCall()
sut.File.GetCreationTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetCreationTime),
path);
}
@@ -378,6 +402,7 @@ public void Method_GetCreationTimeUtc_SafeFileHandle_ShouldRegisterCall()
sut.File.GetCreationTimeUtc(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetCreationTimeUtc),
fileHandle);
}
@@ -392,6 +417,7 @@ public void Method_GetCreationTimeUtc_String_ShouldRegisterCall()
sut.File.GetCreationTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetCreationTimeUtc),
path);
}
@@ -408,6 +434,7 @@ public void Method_GetLastAccessTime_SafeFileHandle_ShouldRegisterCall()
sut.File.GetLastAccessTime(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastAccessTime),
fileHandle);
}
@@ -422,6 +449,7 @@ public void Method_GetLastAccessTime_String_ShouldRegisterCall()
sut.File.GetLastAccessTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastAccessTime),
path);
}
@@ -438,6 +466,7 @@ public void Method_GetLastAccessTimeUtc_SafeFileHandle_ShouldRegisterCall()
sut.File.GetLastAccessTimeUtc(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastAccessTimeUtc),
fileHandle);
}
@@ -452,6 +481,7 @@ public void Method_GetLastAccessTimeUtc_String_ShouldRegisterCall()
sut.File.GetLastAccessTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastAccessTimeUtc),
path);
}
@@ -468,6 +498,7 @@ public void Method_GetLastWriteTime_SafeFileHandle_ShouldRegisterCall()
sut.File.GetLastWriteTime(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastWriteTime),
fileHandle);
}
@@ -482,6 +513,7 @@ public void Method_GetLastWriteTime_String_ShouldRegisterCall()
sut.File.GetLastWriteTime(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastWriteTime),
path);
}
@@ -498,6 +530,7 @@ public void Method_GetLastWriteTimeUtc_SafeFileHandle_ShouldRegisterCall()
sut.File.GetLastWriteTimeUtc(fileHandle);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastWriteTimeUtc),
fileHandle);
}
@@ -512,6 +545,7 @@ public void Method_GetLastWriteTimeUtc_String_ShouldRegisterCall()
sut.File.GetLastWriteTimeUtc(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetLastWriteTimeUtc),
path);
}
@@ -532,6 +566,7 @@ public void Method_GetUnixFileMode_SafeFileHandle_ShouldRegisterCall()
sut.File.GetUnixFileMode(fileHandle);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetUnixFileMode),
fileHandle);
}
@@ -551,6 +586,7 @@ public void Method_GetUnixFileMode_String_ShouldRegisterCall()
sut.File.GetUnixFileMode(path);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.GetUnixFileMode),
path);
}
@@ -568,6 +604,7 @@ public void Method_Move_String_String_Bool_ShouldRegisterCall()
sut.File.Move(sourceFileName, destFileName, overwrite);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Move),
sourceFileName, destFileName, overwrite);
}
@@ -583,6 +620,7 @@ public void Method_Move_String_String_ShouldRegisterCall()
sut.File.Move(sourceFileName, destFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Move),
sourceFileName, destFileName);
}
@@ -598,6 +636,7 @@ public void Method_Open_String_FileMode_FileAccess_FileShare_ShouldRegisterCall(
sut.File.Open(path, mode, access, share);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Open),
path, mode, access, share);
}
@@ -612,6 +651,7 @@ public void Method_Open_String_FileMode_FileAccess_ShouldRegisterCall()
sut.File.Open(path, mode, access);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Open),
path, mode, access);
}
@@ -625,6 +665,7 @@ public void Method_Open_String_FileMode_ShouldRegisterCall()
sut.File.Open(path, mode);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Open),
path, mode);
}
@@ -640,6 +681,7 @@ public void Method_Open_String_FileStreamOptions_ShouldRegisterCall()
sut.File.Open(path, options);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Open),
path, options);
}
@@ -654,6 +696,7 @@ public void Method_OpenRead_String_ShouldRegisterCall()
sut.File.OpenRead(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.OpenRead),
path);
}
@@ -667,6 +710,7 @@ public void Method_OpenText_String_ShouldRegisterCall()
sut.File.OpenText(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.OpenText),
path);
}
@@ -679,6 +723,7 @@ public void Method_OpenWrite_String_ShouldRegisterCall()
sut.File.OpenWrite(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.OpenWrite),
path);
}
@@ -692,6 +737,7 @@ public void Method_ReadAllBytes_String_ShouldRegisterCall()
sut.File.ReadAllBytes(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllBytes),
path);
}
@@ -707,6 +753,7 @@ public async Task Method_ReadAllBytesAsync_String_CancellationToken_ShouldRegist
await sut.File.ReadAllBytesAsync(path, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllBytesAsync),
path, cancellationToken);
}
@@ -722,6 +769,7 @@ public void Method_ReadAllLines_String_Encoding_ShouldRegisterCall()
sut.File.ReadAllLines(path, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllLines),
path, encoding);
}
@@ -735,6 +783,7 @@ public void Method_ReadAllLines_String_ShouldRegisterCall()
sut.File.ReadAllLines(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllLines),
path);
}
@@ -750,6 +799,7 @@ public async Task Method_ReadAllLinesAsync_String_CancellationToken_ShouldRegist
await sut.File.ReadAllLinesAsync(path, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllLinesAsync),
path, cancellationToken);
}
@@ -768,6 +818,7 @@ public async Task
await sut.File.ReadAllLinesAsync(path, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllLinesAsync),
path, encoding, cancellationToken);
}
@@ -783,6 +834,7 @@ public void Method_ReadAllText_String_Encoding_ShouldRegisterCall()
sut.File.ReadAllText(path, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllText),
path, encoding);
}
@@ -796,6 +848,7 @@ public void Method_ReadAllText_String_ShouldRegisterCall()
sut.File.ReadAllText(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllText),
path);
}
@@ -811,6 +864,7 @@ public async Task Method_ReadAllTextAsync_String_CancellationToken_ShouldRegiste
await sut.File.ReadAllTextAsync(path, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllTextAsync),
path, cancellationToken);
}
@@ -828,6 +882,7 @@ public async Task Method_ReadAllTextAsync_String_Encoding_CancellationToken_Shou
await sut.File.ReadAllTextAsync(path, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadAllTextAsync),
path, encoding, cancellationToken);
}
@@ -843,6 +898,7 @@ public void Method_ReadLines_String_Encoding_ShouldRegisterCall()
sut.File.ReadLines(path, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadLines),
path, encoding);
}
@@ -856,6 +912,7 @@ public void Method_ReadLines_String_ShouldRegisterCall()
sut.File.ReadLines(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadLines),
path);
}
@@ -871,6 +928,7 @@ public void Method_ReadLinesAsync_String_CancellationToken_ShouldRegisterCall()
sut.File.ReadLinesAsync(path, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadLinesAsync),
path, cancellationToken);
}
@@ -888,6 +946,7 @@ public void Method_ReadLinesAsync_String_Encoding_CancellationToken_ShouldRegist
sut.File.ReadLinesAsync(path, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ReadLinesAsync),
path, encoding, cancellationToken);
}
@@ -906,6 +965,7 @@ public void Method_Replace_String_String_String_Bool_ShouldRegisterCall()
sut.File.Replace(sourceFileName, destinationFileName, destinationBackupFileName,
ignoreMetadataErrors);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Replace),
sourceFileName, destinationFileName, destinationBackupFileName, ignoreMetadataErrors);
}
@@ -921,6 +981,7 @@ public void Method_Replace_String_String_String_ShouldRegisterCall()
sut.File.Replace(sourceFileName, destinationFileName, destinationBackupFileName);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.Replace),
sourceFileName, destinationFileName, destinationBackupFileName);
}
@@ -936,6 +997,7 @@ public void Method_ResolveLinkTarget_String_Bool_ShouldRegisterCall()
sut.File.ResolveLinkTarget(linkPath, returnFinalTarget);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.ResolveLinkTarget),
linkPath, returnFinalTarget);
}
@@ -954,6 +1016,7 @@ public void Method_SetAttributes_SafeFileHandle_FileAttributes_ShouldRegisterCal
sut.File.SetAttributes(fileHandle, fileAttributes);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetAttributes),
fileHandle, fileAttributes);
}
@@ -969,6 +1032,7 @@ public void Method_SetAttributes_String_FileAttributes_ShouldRegisterCall()
sut.File.SetAttributes(path, fileAttributes);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetAttributes),
path, fileAttributes);
}
@@ -986,6 +1050,7 @@ public void Method_SetCreationTime_SafeFileHandle_DateTime_ShouldRegisterCall()
sut.File.SetCreationTime(fileHandle, creationTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetCreationTime),
fileHandle, creationTime);
}
@@ -1001,6 +1066,7 @@ public void Method_SetCreationTime_String_DateTime_ShouldRegisterCall()
sut.File.SetCreationTime(path, creationTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetCreationTime),
path, creationTime);
}
@@ -1018,6 +1084,7 @@ public void Method_SetCreationTimeUtc_SafeFileHandle_DateTime_ShouldRegisterCall
sut.File.SetCreationTimeUtc(fileHandle, creationTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetCreationTimeUtc),
fileHandle, creationTimeUtc);
}
@@ -1033,6 +1100,7 @@ public void Method_SetCreationTimeUtc_String_DateTime_ShouldRegisterCall()
sut.File.SetCreationTimeUtc(path, creationTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetCreationTimeUtc),
path, creationTimeUtc);
}
@@ -1050,6 +1118,7 @@ public void Method_SetLastAccessTime_SafeFileHandle_DateTime_ShouldRegisterCall(
sut.File.SetLastAccessTime(fileHandle, lastAccessTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastAccessTime),
fileHandle, lastAccessTime);
}
@@ -1065,6 +1134,7 @@ public void Method_SetLastAccessTime_String_DateTime_ShouldRegisterCall()
sut.File.SetLastAccessTime(path, lastAccessTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastAccessTime),
path, lastAccessTime);
}
@@ -1082,6 +1152,7 @@ public void Method_SetLastAccessTimeUtc_SafeFileHandle_DateTime_ShouldRegisterCa
sut.File.SetLastAccessTimeUtc(fileHandle, lastAccessTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastAccessTimeUtc),
fileHandle, lastAccessTimeUtc);
}
@@ -1097,6 +1168,7 @@ public void Method_SetLastAccessTimeUtc_String_DateTime_ShouldRegisterCall()
sut.File.SetLastAccessTimeUtc(path, lastAccessTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastAccessTimeUtc),
path, lastAccessTimeUtc);
}
@@ -1114,6 +1186,7 @@ public void Method_SetLastWriteTime_SafeFileHandle_DateTime_ShouldRegisterCall()
sut.File.SetLastWriteTime(fileHandle, lastWriteTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastWriteTime),
fileHandle, lastWriteTime);
}
@@ -1129,6 +1202,7 @@ public void Method_SetLastWriteTime_String_DateTime_ShouldRegisterCall()
sut.File.SetLastWriteTime(path, lastWriteTime);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastWriteTime),
path, lastWriteTime);
}
@@ -1146,6 +1220,7 @@ public void Method_SetLastWriteTimeUtc_SafeFileHandle_DateTime_ShouldRegisterCal
sut.File.SetLastWriteTimeUtc(fileHandle, lastWriteTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastWriteTimeUtc),
fileHandle, lastWriteTimeUtc);
}
@@ -1161,6 +1236,7 @@ public void Method_SetLastWriteTimeUtc_String_DateTime_ShouldRegisterCall()
sut.File.SetLastWriteTimeUtc(path, lastWriteTimeUtc);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetLastWriteTimeUtc),
path, lastWriteTimeUtc);
}
@@ -1182,6 +1258,7 @@ public void Method_SetUnixFileMode_SafeFileHandle_UnixFileMode_ShouldRegisterCal
sut.File.SetUnixFileMode(fileHandle, mode);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetUnixFileMode),
fileHandle, mode);
}
@@ -1202,6 +1279,7 @@ public void Method_SetUnixFileMode_String_UnixFileMode_ShouldRegisterCall()
sut.File.SetUnixFileMode(path, mode);
#pragma warning restore CA1416
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.SetUnixFileMode),
path, mode);
}
@@ -1216,6 +1294,7 @@ public void Method_WriteAllBytes_String_ByteArray_ShouldRegisterCall()
sut.File.WriteAllBytes(path, bytes);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllBytes),
path, bytes);
}
@@ -1232,6 +1311,7 @@ public async Task
await sut.File.WriteAllBytesAsync(path, bytes, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllBytesAsync),
path, bytes, cancellationToken);
}
@@ -1247,6 +1327,7 @@ public void Method_WriteAllLines_String_IEnumerableString_Encoding_ShouldRegiste
sut.File.WriteAllLines(path, contents, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLines),
path, contents, encoding);
}
@@ -1260,6 +1341,7 @@ public void Method_WriteAllLines_String_IEnumerableString_ShouldRegisterCall()
sut.File.WriteAllLines(path, contents);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLines),
path, contents);
}
@@ -1274,6 +1356,7 @@ public void Method_WriteAllLines_String_StringArray_Encoding_ShouldRegisterCall(
sut.File.WriteAllLines(path, contents, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLines),
path, contents, encoding);
}
@@ -1287,6 +1370,7 @@ public void Method_WriteAllLines_String_StringArray_ShouldRegisterCall()
sut.File.WriteAllLines(path, contents);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLines),
path, contents);
}
@@ -1303,6 +1387,7 @@ public async Task
await sut.File.WriteAllLinesAsync(path, contents, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLinesAsync),
path, contents, cancellationToken);
}
@@ -1321,6 +1406,7 @@ public async Task
await sut.File.WriteAllLinesAsync(path, contents, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllLinesAsync),
path, contents, encoding, cancellationToken);
}
@@ -1336,6 +1422,7 @@ public void Method_WriteAllText_String_String_Encoding_ShouldRegisterCall()
sut.File.WriteAllText(path, contents, encoding);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllText),
path, contents, encoding);
}
@@ -1349,6 +1436,7 @@ public void Method_WriteAllText_String_String_ShouldRegisterCall()
sut.File.WriteAllText(path, contents);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllText),
path, contents);
}
@@ -1364,6 +1452,7 @@ public async Task Method_WriteAllTextAsync_String_String_CancellationToken_Shoul
await sut.File.WriteAllTextAsync(path, contents, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllTextAsync),
path, contents, cancellationToken);
}
@@ -1382,6 +1471,7 @@ public async Task
await sut.File.WriteAllTextAsync(path, contents, encoding, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.File.ShouldOnlyContainMethodCall(nameof(IFile.WriteAllTextAsync),
path, contents, encoding, cancellationToken);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamFactoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamFactoryStatisticsTests.cs
index 9fa140baa..6ca1006f6 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamFactoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamFactoryStatisticsTests.cs
@@ -25,6 +25,7 @@ public void Method_New_SafeFileHandle_FileAccess_Int_Bool_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(handle, access, bufferSize, isAsync);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
handle, access, bufferSize, isAsync);
}
@@ -44,6 +45,7 @@ public void Method_New_SafeFileHandle_FileAccess_Int_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(handle, access, bufferSize);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
handle, access, bufferSize);
}
@@ -61,6 +63,7 @@ public void Method_New_SafeFileHandle_FileAccess_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(handle, access);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
handle, access);
}
@@ -80,6 +83,7 @@ public void Method_New_String_FileMode_FileAccess_FileShare_Int_Bool_ShouldRegis
using FileSystemStream result =
sut.FileStream.New(path, mode, access, share, bufferSize, useAsync);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode, access, share, bufferSize, useAsync);
}
@@ -98,6 +102,7 @@ public void Method_New_String_FileMode_FileAccess_FileShare_Int_FileOptions_Shou
using FileSystemStream result =
sut.FileStream.New(path, mode, access, share, bufferSize, options);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode, access, share, bufferSize, options);
}
@@ -114,6 +119,7 @@ public void Method_New_String_FileMode_FileAccess_FileShare_Int_ShouldRegisterCa
using FileSystemStream result = sut.FileStream.New(path, mode, access, share, bufferSize);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode, access, share, bufferSize);
}
@@ -129,6 +135,7 @@ public void Method_New_String_FileMode_FileAccess_FileShare_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(path, mode, access, share);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode, access, share);
}
@@ -143,6 +150,7 @@ public void Method_New_String_FileMode_FileAccess_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(path, mode, access);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode, access);
}
@@ -156,6 +164,7 @@ public void Method_New_String_FileMode_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(path, mode);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, mode);
}
@@ -171,6 +180,7 @@ public void Method_New_String_FileStreamOptions_ShouldRegisterCall()
using FileSystemStream result = sut.FileStream.New(path, options);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.New),
path, options);
}
@@ -191,6 +201,7 @@ public void Method_Wrap_FileStream_ShouldRegisterCall()
// Wrap is not possible on the MockFileSystem, but should still be registered!
}
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileStream.ShouldOnlyContainMethodCall(nameof(IFileStreamFactory.Wrap),
fileStream);
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamStatisticsTests.cs
index 8ce4ea31c..b863f2f00 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileStreamStatisticsTests.cs
@@ -22,6 +22,7 @@ public void Method_BeginRead_ByteArray_Int_Int_AsyncCallback_Object_ShouldRegist
fileStream.BeginRead(buffer, offset, count, callback, state);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.BeginRead),
buffer, offset, count, callback, state);
@@ -40,6 +41,7 @@ public void Method_BeginWrite_ByteArray_Int_Int_AsyncCallback_Object_ShouldRegis
fileStream.BeginWrite(buffer, offset, count, callback, state);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.BeginWrite),
buffer, offset, count, callback, state);
@@ -55,6 +57,7 @@ public void Method_CopyTo_Stream_Int_ShouldRegisterCall()
fileStream.CopyTo(destination, bufferSize);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.CopyTo),
destination, bufferSize);
@@ -71,6 +74,7 @@ public async Task Method_CopyToAsync_Stream_Int_CancellationToken_ShouldRegister
await fileStream.CopyToAsync(destination, bufferSize, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.CopyToAsync),
destination, bufferSize, cancellationToken);
@@ -86,6 +90,7 @@ public void Method_EndRead_IAsyncResult_ShouldRegisterCall()
fileStream.EndRead(asyncResult);
+ sut.StatisticsRegistration.TotalCount.Should().Be(3);
sut.Statistics.FileStream["foo"].Methods.Length.Should().Be(2);
sut.Statistics.FileStream["foo"].Methods.Should()
.ContainSingle(c => c.Name == nameof(FileSystemStream.EndRead) &&
@@ -103,6 +108,7 @@ public void Method_EndWrite_IAsyncResult_ShouldRegisterCall()
fileStream.EndWrite(asyncResult);
+ sut.StatisticsRegistration.TotalCount.Should().Be(3);
sut.Statistics.FileStream["foo"].Methods.Length.Should().Be(2);
sut.Statistics.FileStream["foo"].Methods.Should()
.ContainSingle(c => c.Name == nameof(FileSystemStream.EndWrite) &&
@@ -119,6 +125,7 @@ public void Method_Flush_Bool_ShouldRegisterCall()
fileStream.Flush(flushToDisk);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Flush),
flushToDisk);
@@ -132,6 +139,7 @@ public void Method_Flush_ShouldRegisterCall()
fileStream.Flush();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Flush));
}
@@ -145,6 +153,7 @@ public async Task Method_FlushAsync_CancellationToken_ShouldRegisterCall()
await fileStream.FlushAsync(cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.FlushAsync),
cancellationToken);
@@ -161,6 +170,7 @@ public void Method_Read_ByteArray_Int_Int_ShouldRegisterCall()
_ = fileStream.Read(buffer, offset, count);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Read),
buffer, offset, count);
@@ -176,6 +186,7 @@ public void Method_Read_SpanByte_ShouldRegisterCall()
_ = fileStream.Read(buffer);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Read),
buffer);
@@ -194,6 +205,7 @@ public async Task Method_ReadAsync_ByteArray_Int_Int_CancellationToken_ShouldReg
_ = await fileStream.ReadAsync(buffer, offset, count, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.ReadAsync),
buffer, offset, count, cancellationToken);
@@ -210,6 +222,7 @@ public async Task Method_ReadAsync_MemoryByte_CancellationToken_ShouldRegisterCa
_ = await fileStream.ReadAsync(buffer, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.ReadAsync),
buffer, cancellationToken);
@@ -224,6 +237,7 @@ public void Method_ReadByte_ShouldRegisterCall()
fileStream.ReadByte();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.ReadByte));
}
@@ -238,6 +252,7 @@ public void Method_Seek_Int64_SeekOrigin_ShouldRegisterCall()
fileStream.Seek(offset, origin);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Seek),
offset, origin);
@@ -252,6 +267,7 @@ public void Method_SetLength_Int64_ShouldRegisterCall()
fileStream.SetLength(value);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.SetLength),
value);
@@ -265,6 +281,7 @@ public void Method_ToString_ShouldRegisterCall()
_ = fileStream.ToString();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.ToString));
}
@@ -280,6 +297,7 @@ public void Method_Write_ByteArray_Int_Int_ShouldRegisterCall()
fileStream.Write(buffer, offset, count);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Write),
buffer, offset, count);
@@ -295,6 +313,7 @@ public void Method_Write_ReadOnlySpanByte_ShouldRegisterCall()
fileStream.Write(buffer);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.Write),
buffer);
@@ -313,6 +332,7 @@ public async Task Method_WriteAsync_ByteArray_Int_Int_CancellationToken_ShouldRe
await fileStream.WriteAsync(buffer, offset, count, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.WriteAsync),
buffer, offset, count, cancellationToken);
@@ -329,6 +349,7 @@ public async Task Method_WriteAsync_ReadOnlyMemoryByte_CancellationToken_ShouldR
await fileStream.WriteAsync(buffer, cancellationToken);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.WriteAsync),
buffer, cancellationToken);
@@ -344,6 +365,7 @@ public void Method_WriteByte_Byte_ShouldRegisterCall()
fileStream.WriteByte(value);
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainMethodCall(nameof(FileSystemStream.WriteByte),
value);
@@ -357,6 +379,7 @@ public void Property_CanRead_Get_ShouldRegisterPropertyAccess()
_ = fileStream.CanRead;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.CanRead));
}
@@ -369,6 +392,7 @@ public void Property_CanSeek_Get_ShouldRegisterPropertyAccess()
_ = fileStream.CanSeek;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.CanSeek));
}
@@ -381,6 +405,7 @@ public void Property_CanTimeout_Get_ShouldRegisterPropertyAccess()
_ = fileStream.CanTimeout;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.CanTimeout));
}
@@ -393,6 +418,7 @@ public void Property_CanWrite_Get_ShouldRegisterPropertyAccess()
_ = fileStream.CanWrite;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.CanWrite));
}
@@ -405,6 +431,7 @@ public void Property_IsAsync_Get_ShouldRegisterPropertyAccess()
_ = fileStream.IsAsync;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.IsAsync));
}
@@ -417,6 +444,7 @@ public void Property_Length_Get_ShouldRegisterPropertyAccess()
_ = fileStream.Length;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.Length));
}
@@ -429,6 +457,7 @@ public void Property_Name_Get_ShouldRegisterPropertyAccess()
_ = fileStream.Name;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.Name));
}
@@ -441,6 +470,7 @@ public void Property_Position_Get_ShouldRegisterPropertyAccess()
_ = fileStream.Position;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.Position));
}
@@ -454,6 +484,7 @@ public void Property_Position_Set_ShouldRegisterPropertyAccess()
fileStream.Position = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(FileSystemStream.Position));
}
@@ -473,6 +504,7 @@ public void Property_ReadTimeout_Get_ShouldRegisterPropertyAccess()
// Timeouts are not supported on this stream.
}
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.ReadTimeout));
}
@@ -493,6 +525,7 @@ public void Property_ReadTimeout_Set_ShouldRegisterPropertyAccess()
// Timeouts are not supported on this stream.
}
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(FileSystemStream.ReadTimeout));
}
@@ -512,6 +545,7 @@ public void Property_WriteTimeout_Get_ShouldRegisterPropertyAccess()
// Timeouts are not supported on this stream.
}
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(FileSystemStream.WriteTimeout));
}
@@ -532,6 +566,7 @@ public void Property_WriteTimeout_Set_ShouldRegisterPropertyAccess()
// Timeouts are not supported on this stream.
}
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileStream["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(FileSystemStream.WriteTimeout));
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherFactoryStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherFactoryStatisticsTests.cs
index d4dae7fd7..98a724227 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherFactoryStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherFactoryStatisticsTests.cs
@@ -13,6 +13,7 @@ public void Method_New_ShouldRegisterCall()
using IFileSystemWatcher result = sut.FileSystemWatcher.New();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileSystemWatcher.ShouldOnlyContainMethodCall(
nameof(IFileSystemWatcherFactory.New));
}
@@ -26,6 +27,7 @@ public void Method_New_String_ShouldRegisterCall()
using IFileSystemWatcher result = sut.FileSystemWatcher.New(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileSystemWatcher.ShouldOnlyContainMethodCall(
nameof(IFileSystemWatcherFactory.New),
path);
@@ -41,6 +43,7 @@ public void Method_New_String_String_ShouldRegisterCall()
using IFileSystemWatcher result = sut.FileSystemWatcher.New(path, filter);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileSystemWatcher.ShouldOnlyContainMethodCall(
nameof(IFileSystemWatcherFactory.New),
path, filter);
@@ -55,6 +58,7 @@ public void Method_Wrap_FileSystemWatcher_ShouldRegisterCall()
using IFileSystemWatcher result = sut.FileSystemWatcher.Wrap(fileSystemWatcher);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.FileSystemWatcher.ShouldOnlyContainMethodCall(
nameof(IFileSystemWatcherFactory.Wrap),
fileSystemWatcher);
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherStatisticsTests.cs
index 7c76e5c9a..3cfd9c41d 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/FileSystemWatcherStatisticsTests.cs
@@ -18,6 +18,7 @@ public void Method_BeginInit_ShouldRegisterCall()
fileSystemWatcher.BeginInit();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileSystemWatcher.BeginInit));
}
@@ -31,6 +32,7 @@ public void Method_EndInit_ShouldRegisterCall()
fileSystemWatcher.EndInit();
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainMethodCall(nameof(IFileSystemWatcher.EndInit));
}
@@ -130,6 +132,7 @@ public void Property_EnableRaisingEvents_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").EnableRaisingEvents;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.EnableRaisingEvents));
}
@@ -143,6 +146,7 @@ public void Property_EnableRaisingEvents_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").EnableRaisingEvents = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.EnableRaisingEvents));
}
@@ -155,6 +159,7 @@ public void Property_Filter_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").Filter;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.Filter));
}
@@ -168,6 +173,7 @@ public void Property_Filter_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").Filter = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.Filter));
}
@@ -181,6 +187,7 @@ public void Property_Filters_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").Filters;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.Filters));
}
@@ -194,6 +201,7 @@ public void Property_IncludeSubdirectories_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").IncludeSubdirectories;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.IncludeSubdirectories));
}
@@ -207,6 +215,7 @@ public void Property_IncludeSubdirectories_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").IncludeSubdirectories = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.IncludeSubdirectories));
}
@@ -219,6 +228,7 @@ public void Property_InternalBufferSize_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").InternalBufferSize;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.InternalBufferSize));
}
@@ -232,6 +242,7 @@ public void Property_InternalBufferSize_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").InternalBufferSize = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.InternalBufferSize));
}
@@ -244,6 +255,7 @@ public void Property_NotifyFilter_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").NotifyFilter;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.NotifyFilter));
}
@@ -257,6 +269,7 @@ public void Property_NotifyFilter_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").NotifyFilter = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.NotifyFilter));
}
@@ -269,6 +282,7 @@ public void Property_Path_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").Path;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.Path));
}
@@ -282,6 +296,7 @@ public void Property_Path_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").Path = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.Path));
}
@@ -294,6 +309,7 @@ public void Property_Site_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").Site;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.Site));
}
@@ -307,6 +323,7 @@ public void Property_Site_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").Site = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.Site));
}
@@ -319,6 +336,7 @@ public void Property_SynchronizingObject_Get_ShouldRegisterPropertyAccess()
_ = sut.FileSystemWatcher.New("foo").SynchronizingObject;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertyGetAccess(nameof(IFileSystemWatcher.SynchronizingObject));
}
@@ -332,6 +350,7 @@ public void Property_SynchronizingObject_Set_ShouldRegisterPropertyAccess()
sut.FileSystemWatcher.New("foo").SynchronizingObject = value;
+ sut.StatisticsRegistration.TotalCount.Should().Be(2);
sut.Statistics.FileSystemWatcher["foo"]
.ShouldOnlyContainPropertySetAccess(nameof(IFileSystemWatcher.SynchronizingObject));
}
diff --git a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/PathStatisticsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/PathStatisticsTests.cs
index 076dc5513..3a5ffad23 100644
--- a/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/PathStatisticsTests.cs
+++ b/Tests/Testably.Abstractions.Testing.Tests/Statistics/FileSystem/PathStatisticsTests.cs
@@ -17,6 +17,7 @@ public void Method_ChangeExtension_String_String_ShouldRegisterCall()
sut.Path.ChangeExtension(path, extension);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.ChangeExtension),
path, extension);
}
@@ -30,6 +31,7 @@ public void Method_Combine_String_String_ShouldRegisterCall()
sut.Path.Combine(path1, path2);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Combine),
path1, path2);
}
@@ -44,6 +46,7 @@ public void Method_Combine_String_String_String_ShouldRegisterCall()
sut.Path.Combine(path1, path2, path3);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Combine),
path1, path2, path3);
}
@@ -59,6 +62,7 @@ public void Method_Combine_String_String_String_String_ShouldRegisterCall()
sut.Path.Combine(path1, path2, path3, path4);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Combine),
path1, path2, path3, path4);
}
@@ -71,6 +75,7 @@ public void Method_Combine_StringArray_ShouldRegisterCall()
sut.Path.Combine(paths);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Combine),
paths);
}
@@ -84,6 +89,7 @@ public void Method_EndsInDirectorySeparator_ReadOnlySpanChar_ShouldRegisterCall(
sut.Path.EndsInDirectorySeparator(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.EndsInDirectorySeparator),
path);
}
@@ -98,6 +104,7 @@ public void Method_EndsInDirectorySeparator_String_ShouldRegisterCall()
sut.Path.EndsInDirectorySeparator(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.EndsInDirectorySeparator),
path);
}
@@ -112,6 +119,7 @@ public void Method_Exists_String_ShouldRegisterCall()
sut.Path.Exists(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Exists),
path);
}
@@ -126,6 +134,7 @@ public void Method_GetDirectoryName_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.GetDirectoryName(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetDirectoryName),
path);
}
@@ -139,6 +148,7 @@ public void Method_GetDirectoryName_String_ShouldRegisterCall()
sut.Path.GetDirectoryName(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetDirectoryName),
path);
}
@@ -152,6 +162,7 @@ public void Method_GetExtension_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.GetExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetExtension),
path);
}
@@ -165,6 +176,7 @@ public void Method_GetExtension_String_ShouldRegisterCall()
sut.Path.GetExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetExtension),
path);
}
@@ -178,6 +190,7 @@ public void Method_GetFileName_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.GetFileName(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFileName),
path);
}
@@ -191,6 +204,7 @@ public void Method_GetFileName_String_ShouldRegisterCall()
sut.Path.GetFileName(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFileName),
path);
}
@@ -204,6 +218,7 @@ public void Method_GetFileNameWithoutExtension_ReadOnlySpanChar_ShouldRegisterCa
sut.Path.GetFileNameWithoutExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFileNameWithoutExtension),
path);
}
@@ -217,6 +232,7 @@ public void Method_GetFileNameWithoutExtension_String_ShouldRegisterCall()
sut.Path.GetFileNameWithoutExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFileNameWithoutExtension),
path);
}
@@ -229,6 +245,7 @@ public void Method_GetFullPath_String_ShouldRegisterCall()
sut.Path.GetFullPath(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFullPath),
path);
}
@@ -243,6 +260,7 @@ public void Method_GetFullPath_String_String_ShouldRegisterCall()
sut.Path.GetFullPath(path, basePath);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetFullPath),
path, basePath);
}
@@ -255,6 +273,7 @@ public void Method_GetInvalidFileNameChars_ShouldRegisterCall()
sut.Path.GetInvalidFileNameChars();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetInvalidFileNameChars));
}
@@ -265,6 +284,7 @@ public void Method_GetInvalidPathChars_ShouldRegisterCall()
sut.Path.GetInvalidPathChars();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetInvalidPathChars));
}
@@ -277,6 +297,7 @@ public void Method_GetPathRoot_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.GetPathRoot(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetPathRoot),
path);
}
@@ -290,6 +311,7 @@ public void Method_GetPathRoot_String_ShouldRegisterCall()
sut.Path.GetPathRoot(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetPathRoot),
path);
}
@@ -301,6 +323,7 @@ public void Method_GetRandomFileName_ShouldRegisterCall()
sut.Path.GetRandomFileName();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetRandomFileName));
}
@@ -314,6 +337,7 @@ public void Method_GetRelativePath_String_String_ShouldRegisterCall()
sut.Path.GetRelativePath(relativeTo, path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetRelativePath),
relativeTo, path);
}
@@ -326,6 +350,7 @@ public void Method_GetTempFileName_ShouldRegisterCall()
sut.Path.GetTempFileName();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetTempFileName));
}
@@ -336,6 +361,7 @@ public void Method_GetTempPath_ShouldRegisterCall()
sut.Path.GetTempPath();
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.GetTempPath));
}
@@ -348,6 +374,7 @@ public void Method_HasExtension_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.HasExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.HasExtension),
path);
}
@@ -361,6 +388,7 @@ public void Method_HasExtension_String_ShouldRegisterCall()
sut.Path.HasExtension(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.HasExtension),
path);
}
@@ -374,6 +402,7 @@ public void Method_IsPathFullyQualified_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.IsPathFullyQualified(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.IsPathFullyQualified),
path);
}
@@ -388,6 +417,7 @@ public void Method_IsPathFullyQualified_String_ShouldRegisterCall()
sut.Path.IsPathFullyQualified(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.IsPathFullyQualified),
path);
}
@@ -402,6 +432,7 @@ public void Method_IsPathRooted_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.IsPathRooted(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.IsPathRooted),
path);
}
@@ -415,6 +446,7 @@ public void Method_IsPathRooted_String_ShouldRegisterCall()
sut.Path.IsPathRooted(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.IsPathRooted),
path);
}
@@ -432,6 +464,7 @@ public void
sut.Path.Join(path1, path2, path3, path4);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2, path3, path4);
}
@@ -448,6 +481,7 @@ public void Method_Join_ReadOnlySpanChar_ReadOnlySpanChar_ReadOnlySpanChar_Shoul
sut.Path.Join(path1, path2, path3);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2, path3);
}
@@ -463,6 +497,7 @@ public void Method_Join_ReadOnlySpanChar_ReadOnlySpanChar_ShouldRegisterCall()
sut.Path.Join(path1, path2);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2);
}
@@ -478,6 +513,7 @@ public void Method_Join_String_String_ShouldRegisterCall()
sut.Path.Join(path1, path2);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2);
}
@@ -494,6 +530,7 @@ public void Method_Join_String_String_String_ShouldRegisterCall()
sut.Path.Join(path1, path2, path3);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2, path3);
}
@@ -511,6 +548,7 @@ public void Method_Join_String_String_String_String_ShouldRegisterCall()
sut.Path.Join(path1, path2, path3, path4);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
path1, path2, path3, path4);
}
@@ -525,6 +563,7 @@ public void Method_Join_StringArray_ShouldRegisterCall()
sut.Path.Join(paths);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.Join),
paths);
}
@@ -539,6 +578,7 @@ public void Method_TrimEndingDirectorySeparator_ReadOnlySpanChar_ShouldRegisterC
sut.Path.TrimEndingDirectorySeparator(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.TrimEndingDirectorySeparator),
path);
}
@@ -553,6 +593,7 @@ public void Method_TrimEndingDirectorySeparator_String_ShouldRegisterCall()
sut.Path.TrimEndingDirectorySeparator(path);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.TrimEndingDirectorySeparator),
path);
}
@@ -571,6 +612,7 @@ public void
sut.Path.TryJoin(path1, path2, path3, destination, out int charsWritten);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.TryJoin),
path1, path2, path3, destination, charsWritten);
}
@@ -588,6 +630,7 @@ public void
sut.Path.TryJoin(path1, path2, destination, out int charsWritten);
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainMethodCall(nameof(IPath.TryJoin),
path1, path2, destination, charsWritten);
}
@@ -600,6 +643,7 @@ public void Property_AltDirectorySeparatorChar_Get_ShouldRegisterPropertyAccess(
_ = sut.Path.AltDirectorySeparatorChar;
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainPropertyGetAccess(
nameof(IPath.AltDirectorySeparatorChar));
}
@@ -611,6 +655,7 @@ public void Property_DirectorySeparatorChar_Get_ShouldRegisterPropertyAccess()
_ = sut.Path.DirectorySeparatorChar;
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainPropertyGetAccess(
nameof(IPath.DirectorySeparatorChar));
}
@@ -622,6 +667,7 @@ public void Property_PathSeparator_Get_ShouldRegisterPropertyAccess()
_ = sut.Path.PathSeparator;
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainPropertyGetAccess(nameof(IPath.PathSeparator));
}
@@ -632,6 +678,7 @@ public void Property_VolumeSeparatorChar_Get_ShouldRegisterPropertyAccess()
_ = sut.Path.VolumeSeparatorChar;
+ sut.StatisticsRegistration.TotalCount.Should().Be(1);
sut.Statistics.Path.ShouldOnlyContainPropertyGetAccess(nameof(IPath.VolumeSeparatorChar));
}