Browse Source

Replace Moq with NSubstitute

pull/3058/head
Christoph Wille 2 years ago
parent
commit
7c8b4978f6
  1. 24
      ILSpy.Tests/Analyzers/MemberImplementsInterfaceAnalyzerTests.cs
  2. 6
      ILSpy.Tests/ILSpy.Tests.csproj
  3. 1
      packages.props

24
ILSpy.Tests/Analyzers/MemberImplementsInterfaceAnalyzerTests.cs

@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem.Implementation;
using ICSharpCode.ILSpy.Analyzers; using ICSharpCode.ILSpy.Analyzers;
using ICSharpCode.ILSpy.Analyzers.Builtin; using ICSharpCode.ILSpy.Analyzers.Builtin;
using Moq; using NSubstitute;
using NUnit.Framework; using NUnit.Framework;
@ -77,12 +77,12 @@ namespace ICSharpCode.ILSpy.Tests.Analyzers
public void VerifyDoesNotShowForNonMembers(SymbolKind symbolKind) public void VerifyDoesNotShowForNonMembers(SymbolKind symbolKind)
{ {
// Arrange // Arrange
var symbolMock = new Mock<ISymbol>(); var symbolMock = Substitute.For<ISymbol>();
symbolMock.Setup(s => s.SymbolKind).Returns(symbolKind); symbolMock.SymbolKind.Returns(symbolKind);
var analyzer = new MemberImplementsInterfaceAnalyzer(); var analyzer = new MemberImplementsInterfaceAnalyzer();
// Act // Act
var shouldShow = analyzer.Show(symbolMock.Object); var shouldShow = analyzer.Show(symbolMock);
// Assert // Assert
Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for symbol '{symbolKind}'"); Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for symbol '{symbolKind}'");
@ -97,7 +97,7 @@ namespace ICSharpCode.ILSpy.Tests.Analyzers
var analyzer = new MemberImplementsInterfaceAnalyzer(); var analyzer = new MemberImplementsInterfaceAnalyzer();
// Act // Act
var shouldShow = analyzer.Show(memberMock.Object); var shouldShow = analyzer.Show(memberMock);
// Assert // Assert
Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for static symbol '{symbolKind}'"); Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for static symbol '{symbolKind}'");
@ -114,7 +114,7 @@ namespace ICSharpCode.ILSpy.Tests.Analyzers
var analyzer = new MemberImplementsInterfaceAnalyzer(); var analyzer = new MemberImplementsInterfaceAnalyzer();
// Act // Act
var shouldShow = analyzer.Show(memberMock.Object); var shouldShow = analyzer.Show(memberMock);
// Assert // Assert
Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for symbol '{symbolKind}' and '{typeKind}'"); Assert.IsFalse(shouldShow, $"The analyzer will be unexpectedly shown for symbol '{symbolKind}' and '{typeKind}'");
@ -131,7 +131,7 @@ namespace ICSharpCode.ILSpy.Tests.Analyzers
var analyzer = new MemberImplementsInterfaceAnalyzer(); var analyzer = new MemberImplementsInterfaceAnalyzer();
// Act // Act
var shouldShow = analyzer.Show(memberMock.Object); var shouldShow = analyzer.Show(memberMock);
// Assert // Assert
Assert.IsTrue(shouldShow, $"The analyzer will not be shown for symbol '{symbolKind}' and '{typeKind}'"); Assert.IsTrue(shouldShow, $"The analyzer will not be shown for symbol '{symbolKind}' and '{typeKind}'");
@ -163,12 +163,12 @@ namespace ICSharpCode.ILSpy.Tests.Analyzers
return typeDefinition.Methods.First(m => m.Name == methodName); return typeDefinition.Methods.First(m => m.Name == methodName);
} }
private static Mock<IMember> SetupMemberMock(SymbolKind symbolKind, TypeKind typeKind, bool isStatic) private static IMember SetupMemberMock(SymbolKind symbolKind, TypeKind typeKind, bool isStatic)
{ {
var memberMock = new Mock<IMember>(); var memberMock = Substitute.For<IMember>();
memberMock.Setup(m => m.SymbolKind).Returns(symbolKind); memberMock.SymbolKind.Returns(symbolKind);
memberMock.Setup(m => m.DeclaringTypeDefinition.Kind).Returns(typeKind); memberMock.DeclaringTypeDefinition.Kind.Returns(typeKind);
memberMock.Setup(m => m.IsStatic).Returns(isStatic); memberMock.IsStatic.Returns(isStatic);
return memberMock; return memberMock;
} }

6
ILSpy.Tests/ILSpy.Tests.csproj

@ -44,6 +44,11 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="DiffLib" Version="$(DiffLibVersion)" /> <PackageReference Include="DiffLib" Version="$(DiffLibVersion)" />
<PackageReference Include="NSubstitute" Version="5.0.0" />
<PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.16">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" /> <PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
<PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" /> <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(RoslynVersion)" /> <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(RoslynVersion)" />
@ -54,7 +59,6 @@
<PackageReference Include="NUnit" Version="$(NUnitVersion)" /> <PackageReference Include="NUnit" Version="$(NUnitVersion)" />
<!-- used for xml test result files --> <!-- used for xml test result files -->
<PackageReference Include="JunitXml.TestLogger" Version="$(JUnitXmlTestLoggerVersion)" /> <PackageReference Include="JunitXml.TestLogger" Version="$(JUnitXmlTestLoggerVersion)" />
<PackageReference Include="Moq" Version="$(MoqVersion)" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

1
packages.props

@ -24,7 +24,6 @@
<JUnitXmlTestLoggerVersion>3.0.124</JUnitXmlTestLoggerVersion> <JUnitXmlTestLoggerVersion>3.0.124</JUnitXmlTestLoggerVersion>
<CoverletCollectorVersion>3.2.0</CoverletCollectorVersion> <CoverletCollectorVersion>3.2.0</CoverletCollectorVersion>
<MicrosoftNETTestSdkVersion>17.5.0</MicrosoftNETTestSdkVersion> <MicrosoftNETTestSdkVersion>17.5.0</MicrosoftNETTestSdkVersion>
<MoqVersion>4.18.4</MoqVersion>
<DiffLibVersion>2017.7.26.1241</DiffLibVersion> <DiffLibVersion>2017.7.26.1241</DiffLibVersion>
<!-- Microsoft.CodeAnalysis.* --> <!-- Microsoft.CodeAnalysis.* -->
<RoslynVersion>4.6.0</RoslynVersion> <RoslynVersion>4.6.0</RoslynVersion>

Loading…
Cancel
Save