Skip to content

Commit d944529

Browse files
committed
Mock it all
1 parent b5dd360 commit d944529

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

test/Microsoft.DotNet.ApiCompatibility.Tests/SuppressibleTestLog.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace Microsoft.DotNet.ApiCompatibility.Tests
88
{
9-
public class SuppressibleTestLog : ISuppressibleLog
9+
internal class SuppressibleTestLog : ISuppressibleLog
1010
{
1111
public List<string> info = [];
1212
public List<string> errors = [];

test/Microsoft.DotNet.ApiSymbolExtensions.Tests/AssemblySymbolLoaderTests.cs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
using System.Collections.Concurrent;
77
using System.Reflection;
88
using Microsoft.CodeAnalysis;
9-
using Microsoft.DotNet.ApiCompatibility.Tests;
9+
using Microsoft.DotNet.ApiSymbolExtensions.Logging;
1010
using Microsoft.DotNet.Cli.Utils;
11+
using Moq;
1112

1213
namespace Microsoft.DotNet.ApiSymbolExtensions.Tests
1314
{
1415
public class AssemblySymbolLoaderTests : SdkTest
1516
{
16-
private readonly SuppressibleTestLog _logger = new();
17+
private readonly Mock<ILog> _log = new();
1718

1819
public AssemblySymbolLoaderTests(ITestOutputHelper log) : base(log) { }
1920

@@ -92,14 +93,14 @@ private TestAssetInfo GetAsset(TestAssetsManager manager)
9293
[Fact]
9394
public void LoadAssembly_Throws()
9495
{
95-
AssemblySymbolLoader loader = new(_logger);
96+
AssemblySymbolLoader loader = new(_log.Object);
9697
Assert.Throws<FileNotFoundException>(() => loader.LoadAssembly(Guid.NewGuid().ToString("N").Substring(0, 8)));
9798
}
9899

99100
[Fact]
100101
public void LoadAssemblyFromSourceFiles_Throws()
101102
{
102-
AssemblySymbolLoader loader = new(_logger);
103+
AssemblySymbolLoader loader = new(_log.Object);
103104
IEnumerable<string> paths = new[] { Guid.NewGuid().ToString("N") };
104105
Assert.Throws<FileNotFoundException>(() => loader.LoadAssemblyFromSourceFiles(paths, "assembly1", Array.Empty<string>()));
105106
Assert.Throws<ArgumentNullException>("filePaths", () => loader.LoadAssemblyFromSourceFiles(Array.Empty<string>(), "assembly1", Array.Empty<string>()));
@@ -109,7 +110,7 @@ public void LoadAssemblyFromSourceFiles_Throws()
109110
[Fact]
110111
public void LoadMatchingAssemblies_Throws()
111112
{
112-
AssemblySymbolLoader loader = new(_logger);
113+
AssemblySymbolLoader loader = new(_log.Object);
113114
IEnumerable<string> paths = new[] { Guid.NewGuid().ToString("N") };
114115
IAssemblySymbol assembly = SymbolFactory.GetAssemblyFromSyntax("namespace MyNamespace { class Foo { } }");
115116

@@ -122,7 +123,7 @@ public void LoadMatchingAssembliesWarns()
122123
IAssemblySymbol assembly = SymbolFactory.GetAssemblyFromSyntax("namespace MyNamespace { class Foo { } }");
123124
IEnumerable<string> paths = new[] { AppContext.BaseDirectory };
124125

125-
AssemblySymbolLoader loader = new(_logger);
126+
AssemblySymbolLoader loader = new(_log.Object);
126127
IEnumerable<IAssemblySymbol> symbols = loader.LoadMatchingAssemblies(new[] { assembly }, paths);
127128
Assert.Empty(symbols);
128129
Assert.True(loader.HasLoadWarnings(out IReadOnlyList<AssemblyLoadWarning> warnings));
@@ -155,7 +156,7 @@ public void LoadMatchingAssembliesSameIdentitySucceeds()
155156
.Should()
156157
.Pass();
157158

158-
AssemblySymbolLoader loader = new(_logger);
159+
AssemblySymbolLoader loader = new(_log.Object);
159160
IEnumerable<IAssemblySymbol> matchingAssemblies = loader.LoadMatchingAssemblies(new[] { fromAssembly }, new[] { outputDirectory });
160161

161162
Assert.Single(matchingAssemblies);
@@ -170,7 +171,7 @@ public void LoadMatchingAssemblies_DifferentIdentity(bool validateIdentities)
170171
var assetInfo = GetSimpleTestAsset();
171172
IAssemblySymbol fromAssembly = SymbolFactory.GetAssemblyFromSyntax(SimpleAssemblySourceContents, assemblyName: assetInfo.TestAsset.TestProject.Name);
172173

173-
AssemblySymbolLoader loader = new(_logger);
174+
AssemblySymbolLoader loader = new(_log.Object);
174175
IEnumerable<IAssemblySymbol> matchingAssemblies = loader.LoadMatchingAssemblies(new[] { fromAssembly }, new[] { assetInfo.OutputDirectory }, validateMatchingIdentity: validateIdentities);
175176

176177
if (validateIdentities)
@@ -197,7 +198,7 @@ public void LoadMatchingAssemblies_DifferentIdentity(bool validateIdentities)
197198
public void LoadsSimpleAssemblyFromDirectory()
198199
{
199200
var assetInfo = GetSimpleTestAsset();
200-
AssemblySymbolLoader loader = new(_logger);
201+
AssemblySymbolLoader loader = new(_log.Object);
201202
IEnumerable<IAssemblySymbol> symbols = loader.LoadAssemblies(assetInfo.OutputDirectory);
202203
Assert.Single(symbols);
203204

@@ -215,7 +216,7 @@ public void LoadsSimpleAssemblyFromDirectory()
215216
public void LoadSimpleAssemblyFullPath()
216217
{
217218
var assetInfo = GetSimpleTestAsset();
218-
AssemblySymbolLoader loader = new(_logger);
219+
AssemblySymbolLoader loader = new(_log.Object);
219220
IAssemblySymbol symbol = loader.LoadAssembly(Path.Combine(assetInfo.OutputDirectory, assetInfo.TestAsset.TestProject.Name + ".dll"));
220221

221222
IEnumerable<ITypeSymbol> types = symbol.GlobalNamespace
@@ -249,7 +250,7 @@ public void LoadsMultipleAssembliesFromDirectory()
249250
.Should()
250251
.Pass();
251252

252-
AssemblySymbolLoader loader = new(_logger);
253+
AssemblySymbolLoader loader = new(_log.Object);
253254
IEnumerable<IAssemblySymbol> symbols = loader.LoadAssemblies(outputDirectory);
254255

255256
Assert.Equal(2, symbols.Count());
@@ -266,7 +267,7 @@ public void LoadsMultipleAssembliesFromDirectory()
266267
public void LoadAssemblyResolveReferences_WarnsWhenEnabled(bool resolveReferences)
267268
{
268269
var assetInfo = GetSimpleTestAsset();
269-
AssemblySymbolLoader loader = new(_logger, resolveAssemblyReferences: resolveReferences);
270+
AssemblySymbolLoader loader = new(_log.Object, resolveAssemblyReferences: resolveReferences);
270271
loader.LoadAssembly(Path.Combine(assetInfo.OutputDirectory, assetInfo.TestAsset.TestProject.Name + ".dll"));
271272

272273
if (resolveReferences)
@@ -298,7 +299,7 @@ public void LoadAssemblyResolveReferences_WarnsWhenEnabled(bool resolveReference
298299
public void LoadAssembliesShouldResolveReferencesNoWarnings()
299300
{
300301
var assetInfo = GetSimpleTestAsset();
301-
AssemblySymbolLoader loader = new(_logger, resolveAssemblyReferences: true);
302+
AssemblySymbolLoader loader = new(_log.Object, resolveAssemblyReferences: true);
302303
// AddReferenceSearchDirectories should be able to handle directories as well as full path to assemblies.
303304
loader.AddReferenceSearchPaths(Path.GetDirectoryName(typeof(string).Assembly.Location));
304305
loader.AddReferenceSearchPaths(Path.GetFullPath(typeof(string).Assembly.Location));
@@ -317,7 +318,7 @@ public void LoadAssemblyFromStreamNoWarns()
317318
{
318319
var assetInfo = GetSimpleTestAsset();
319320
TestProject testProject = assetInfo.TestAsset.TestProject;
320-
AssemblySymbolLoader loader = new(_logger);
321+
AssemblySymbolLoader loader = new(_log.Object);
321322
using FileStream stream = File.OpenRead(Path.Combine(assetInfo.OutputDirectory, testProject.Name + ".dll"));
322323
IAssemblySymbol symbol = loader.LoadAssembly(testProject.Name, stream);
323324

test/Microsoft.DotNet.GenAPI.Tests/CSharpFileBuilderTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.DotNet.ApiSymbolExtensions;
1010
using Microsoft.DotNet.ApiSymbolExtensions.Filtering;
11-
using Microsoft.DotNet.ApiCompatibility.Tests;
11+
using Microsoft.DotNet.ApiSymbolExtensions.Logging;
1212
using Microsoft.DotNet.ApiSymbolExtensions.Tests;
1313
using Microsoft.DotNet.GenAPI.Filtering;
14+
using Moq;
1415

1516
namespace Microsoft.DotNet.GenAPI.Tests
1617
{
@@ -54,10 +55,10 @@ private void RunTest(string original,
5455
}
5556
attributeDataSymbolFilter.Add(accessibilitySymbolFilter);
5657

57-
SuppressibleTestLog log = new();
58+
Mock<ILog> log = new();
5859

5960
IAssemblySymbolWriter csharpFileBuilder = new CSharpFileBuilder(
60-
log,
61+
log.Object,
6162
symbolFilter,
6263
attributeDataSymbolFilter,
6364
stringWriter,
@@ -66,7 +67,7 @@ private void RunTest(string original,
6667
MetadataReferences);
6768

6869
using Stream assemblyStream = SymbolFactory.EmitAssemblyStreamFromSyntax(original, enableNullable: true, allowUnsafe: allowUnsafe, assemblyName: assemblyName);
69-
AssemblySymbolLoader assemblySymbolLoader = new(log, resolveAssemblyReferences: true, includeInternalSymbols: includeInternalSymbols);
70+
AssemblySymbolLoader assemblySymbolLoader = new(log.Object, resolveAssemblyReferences: true, includeInternalSymbols: includeInternalSymbols);
7071
assemblySymbolLoader.AddReferenceSearchPaths(typeof(object).Assembly!.Location!);
7172
assemblySymbolLoader.AddReferenceSearchPaths(typeof(DynamicAttribute).Assembly!.Location!);
7273
IAssemblySymbol assemblySymbol = assemblySymbolLoader.LoadAssembly(assemblyName, assemblyStream);

test/Microsoft.DotNet.GenAPI.Tests/Microsoft.DotNet.GenAPI.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
<ItemGroup>
1414
<Compile Include="..\Microsoft.DotNet.ApiSymbolExtensions.Tests\SymbolFactory.cs" />
15+
<Compile Include="..\Microsoft.DotNet.ApiSymbolExtensions.Tests\TempDirectory.cs" />
1516
</ItemGroup>
1617

1718
<ItemGroup>
18-
<ProjectReference Include="$(RepoRoot)test\Microsoft.DotNet.ApiCompatibility.Tests\Microsoft.DotNet.ApiCompatibility.Tests.csproj" />
1919
<ProjectReference Include="$(RepoRoot)src\Compatibility\GenAPI\Microsoft.DotNet.GenAPI\Microsoft.DotNet.GenAPI.csproj" />
2020
<ProjectReference Include="$(RepoRoot)src\Compatibility\Microsoft.DotNet.ApiSymbolExtensions\Microsoft.DotNet.ApiSymbolExtensions.csproj" />
2121
<ProjectReference Include="..\Microsoft.NET.TestFramework\Microsoft.NET.TestFramework.csproj" />

0 commit comments

Comments
 (0)