@@ -19,6 +19,7 @@ protected override void GenerateSource(StringBuilder sourceBuilder, ClassModel @
19
19
using Testably.Abstractions.Testing.Initializer;
20
20
using Testably.Abstractions.TestHelpers;
21
21
using Testably.Abstractions.TestHelpers.Settings;
22
+ using System.IO.Abstractions.TestingHelpers;
22
23
using Xunit.Abstractions;
23
24
24
25
namespace { @class . Namespace }
@@ -35,18 +36,18 @@ public abstract partial class {@class.Name}<TFileSystem>
35
36
namespace { @class . Namespace } .{ @class . Name }
36
37
{{
37
38
// ReSharper disable once UnusedMember.Global
38
- public sealed class MockFileSystemTests : { @class . Name } <MockFileSystem>, IDisposable
39
+ public sealed class MockFileSystemTests : { @class . Name } <Testably.Abstractions.Testing. MockFileSystem>, IDisposable
39
40
{{
40
41
/// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.BasePath"" />
41
42
public override string BasePath => _directoryCleaner.BasePath;
42
43
43
44
private readonly IDirectoryCleaner _directoryCleaner;
44
45
45
- public MockFileSystemTests() : this(new MockFileSystem())
46
+ public MockFileSystemTests() : this(new Testably.Abstractions.Testing. MockFileSystem())
46
47
{{
47
48
}}
48
49
49
- private MockFileSystemTests(MockFileSystem mockFileSystem) : base(
50
+ private MockFileSystemTests(Testably.Abstractions.Testing. MockFileSystem mockFileSystem) : base(
50
51
new Test(),
51
52
mockFileSystem,
52
53
mockFileSystem.TimeSystem)
@@ -73,6 +74,47 @@ public override void SkipIfLongRunningTestsShouldBeSkipped()
73
74
}}
74
75
}}
75
76
77
+ namespace { @class . Namespace } .{ @class . Name }
78
+ {{
79
+ // ReSharper disable once UnusedMember.Global
80
+ public sealed class TestableIoMockFileSystemTests : { @class . Name } <System.IO.Abstractions.TestingHelpers.MockFileSystem>, IDisposable
81
+ {{
82
+ /// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.BasePath"" />
83
+ public override string BasePath => _directoryCleaner.BasePath;
84
+
85
+ private readonly IDirectoryCleaner _directoryCleaner;
86
+
87
+ public TestableIoMockFileSystemTests() : this(new System.IO.Abstractions.TestingHelpers.MockFileSystem())
88
+ {{
89
+ }}
90
+
91
+ private TestableIoMockFileSystemTests(System.IO.Abstractions.TestingHelpers.MockFileSystem mockFileSystem) : base(
92
+ new Test(),
93
+ mockFileSystem,
94
+ new RealTimeSystem())
95
+ {{
96
+ _directoryCleaner = FileSystem
97
+ .SetCurrentDirectoryToEmptyTemporaryDirectory();
98
+ }}
99
+
100
+ /// <inheritdoc cref=""IDisposable.Dispose()"" />
101
+ public void Dispose()
102
+ => _directoryCleaner.Dispose();
103
+
104
+ /// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.SkipIfBrittleTestsShouldBeSkipped(bool)"" />
105
+ public override void SkipIfBrittleTestsShouldBeSkipped(bool condition = true)
106
+ {{
107
+ // Brittle tests are never skipped against the mock file system!
108
+ }}
109
+
110
+ /// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.LongRunningTestsShouldBeSkipped()"" />
111
+ public override void SkipIfLongRunningTestsShouldBeSkipped()
112
+ {{
113
+ // Long-running tests are never skipped against the mock file system!
114
+ }}
115
+ }}
116
+ }}
117
+
76
118
namespace { @class . Namespace } .{ @class . Name }
77
119
{{
78
120
// ReSharper disable once UnusedMember.Global
@@ -140,19 +182,19 @@ public override void SkipIfLongRunningTestsShouldBeSkipped()
140
182
namespace { @class . Namespace } .{ @class . Name }
141
183
{{
142
184
// ReSharper disable once UnusedMember.Global
143
- public sealed class LinuxFileSystemTests : { @class . Name } <MockFileSystem>, IDisposable
185
+ public sealed class LinuxFileSystemTests : { @class . Name } <Testably.Abstractions.Testing. MockFileSystem>, IDisposable
144
186
{{
145
187
/// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.BasePath"" />
146
188
public override string BasePath => _directoryCleaner.BasePath;
147
189
148
190
private readonly IDirectoryCleaner _directoryCleaner;
149
191
150
- public LinuxFileSystemTests() : this(new MockFileSystem(o =>
192
+ public LinuxFileSystemTests() : this(new Testably.Abstractions.Testing. MockFileSystem(o =>
151
193
o.SimulatingOperatingSystem(SimulationMode.Linux)))
152
194
{{
153
195
}}
154
196
155
- private LinuxFileSystemTests(MockFileSystem mockFileSystem) : base(
197
+ private LinuxFileSystemTests(Testably.Abstractions.Testing. MockFileSystem mockFileSystem) : base(
156
198
new Test(OSPlatform.Linux),
157
199
mockFileSystem,
158
200
mockFileSystem.TimeSystem)
@@ -180,18 +222,18 @@ public override void SkipIfLongRunningTestsShouldBeSkipped()
180
222
181
223
#if !NETFRAMEWORK
182
224
// ReSharper disable once UnusedMember.Global
183
- public sealed class MacFileSystemTests : { @class . Name } <MockFileSystem>, IDisposable
225
+ public sealed class MacFileSystemTests : { @class . Name } <Testably.Abstractions.Testing. MockFileSystem>, IDisposable
184
226
{{
185
227
/// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.BasePath"" />
186
228
public override string BasePath => _directoryCleaner.BasePath;
187
229
188
230
private readonly IDirectoryCleaner _directoryCleaner;
189
231
190
- public MacFileSystemTests() : this(new MockFileSystem(o =>
232
+ public MacFileSystemTests() : this(new Testably.Abstractions.Testing. MockFileSystem(o =>
191
233
o.SimulatingOperatingSystem(SimulationMode.MacOS)))
192
234
{{
193
235
}}
194
- private MacFileSystemTests(MockFileSystem mockFileSystem) : base(
236
+ private MacFileSystemTests(Testably.Abstractions.Testing. MockFileSystem mockFileSystem) : base(
195
237
new Test(OSPlatform.OSX),
196
238
mockFileSystem,
197
239
mockFileSystem.TimeSystem)
@@ -219,18 +261,18 @@ public override void SkipIfLongRunningTestsShouldBeSkipped()
219
261
220
262
#if !NETFRAMEWORK
221
263
// ReSharper disable once UnusedMember.Global
222
- public sealed class WindowsFileSystemTests : { @class . Name } <MockFileSystem>, IDisposable
264
+ public sealed class WindowsFileSystemTests : { @class . Name } <Testably.Abstractions.Testing. MockFileSystem>, IDisposable
223
265
{{
224
266
/// <inheritdoc cref=""{ @class . Name } {{TFileSystem}}.BasePath"" />
225
267
public override string BasePath => _directoryCleaner.BasePath;
226
268
227
269
private readonly IDirectoryCleaner _directoryCleaner;
228
270
229
- public WindowsFileSystemTests() : this(new MockFileSystem(o =>
271
+ public WindowsFileSystemTests() : this(new Testably.Abstractions.Testing. MockFileSystem(o =>
230
272
o.SimulatingOperatingSystem(SimulationMode.Windows)))
231
273
{{
232
274
}}
233
- private WindowsFileSystemTests(MockFileSystem mockFileSystem) : base(
275
+ private WindowsFileSystemTests(Testably.Abstractions.Testing. MockFileSystem mockFileSystem) : base(
234
276
new Test(OSPlatform.Windows),
235
277
mockFileSystem,
236
278
mockFileSystem.TimeSystem)
0 commit comments