Skip to content

Commit 3ab17e9

Browse files
committed
replaced MockRepository with Substitute.For
1 parent a596c38 commit 3ab17e9

File tree

4 files changed

+28
-94
lines changed

4 files changed

+28
-94
lines changed

src/GitVersionCore.Tests/Helpers/GitVersionContextBuilder.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using GitVersion.Extensions;
88
using GitVersion.Model.Configuration;
99
using GitVersionCore.Tests.Helpers;
10-
using GitVersionCore.Tests.Mocks;
1110
using Microsoft.Extensions.DependencyInjection;
1211
using Microsoft.Extensions.Options;
1312
using NSubstitute;
@@ -58,8 +57,7 @@ private GitVersionContextBuilder AddBranch(string branchName)
5857
var branches = repository.Branches.ToList();
5958
branches.Add(mockBranch);
6059
repository.Branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)branches).GetEnumerator());
61-
62-
((MockRepository)repository).Head = mockBranch;
60+
repository.Head.Returns(mockBranch);
6361
return this;
6462
}
6563

@@ -91,11 +89,11 @@ private static IGitRepository CreateRepository()
9189
var mockBranch = GitToolsTestingExtensions.CreateMockBranch("master", mockCommit);
9290
var branches = Substitute.For<IBranchCollection>();
9391
branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)new[] { mockBranch }).GetEnumerator());
94-
var mockRepository = new MockRepository
95-
{
96-
Branches = branches,
97-
Head = mockBranch
98-
};
92+
93+
var mockRepository = Substitute.For<IGitRepository>();
94+
mockRepository.Branches.Returns(branches);
95+
mockRepository.Head.Returns(mockBranch);
96+
mockRepository.Commits.Returns(mockBranch.Commits);
9997

10098
return mockRepository;
10199
}

src/GitVersionCore.Tests/Mocks/MockRepository.cs

Lines changed: 0 additions & 58 deletions
This file was deleted.

src/GitVersionCore.Tests/Model/GitVersionContextTests.cs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using GitVersion.Model.Configuration;
77
using GitVersion.VersionCalculation;
88
using GitVersionCore.Tests.Helpers;
9-
using GitVersionCore.Tests.Mocks;
109
using LibGit2Sharp;
1110
using Microsoft.Extensions.DependencyInjection;
1211
using Microsoft.Extensions.Options;
@@ -36,11 +35,10 @@ public void CanInheritVersioningMode(VersioningMode mode)
3635
var branches = Substitute.For<IBranchCollection>();
3736
branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)new[] { mockBranch }).GetEnumerator());
3837

39-
var mockRepository = new MockRepository
40-
{
41-
Head = mockBranch,
42-
Branches = branches
43-
};
38+
var mockRepository = Substitute.For<IGitRepository>();
39+
mockRepository.Head.Returns(mockBranch);
40+
mockRepository.Branches.Returns(branches);
41+
mockRepository.Commits.Returns(mockBranch.Commits);
4442

4543
var context = GetGitVersionContext(fixture.RepositoryPath, mockRepository, branchName, config);
4644

@@ -100,11 +98,10 @@ public void UsesBranchSpecificConfigOverTopLevelDefaults()
10098
var branches = Substitute.For<IBranchCollection>();
10199
branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)new[] { master, develop }).GetEnumerator());
102100

103-
var mockRepository = new MockRepository
104-
{
105-
Head = develop,
106-
Branches = branches
107-
};
101+
var mockRepository = Substitute.For<IGitRepository>();
102+
mockRepository.Head.Returns(develop);
103+
mockRepository.Branches.Returns(branches);
104+
mockRepository.Commits.Returns(develop.Commits);
108105

109106
var context = GetGitVersionContext(fixture.RepositoryPath, mockRepository, branchName, config);
110107

@@ -144,16 +141,15 @@ public void UsesFirstBranchConfigWhenMultipleMatch()
144141
var branches = Substitute.For<IBranchCollection>();
145142
branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)new[] { releaseLatestBranch, releaseVersionBranch }).GetEnumerator());
146143

147-
var mockRepository = new MockRepository
148-
{
149-
Branches = branches,
150-
Head = releaseLatestBranch
151-
};
144+
var mockRepository = Substitute.For<IGitRepository>();
145+
mockRepository.Branches.Returns(branches);
146+
mockRepository.Head.Returns(releaseLatestBranch);
147+
mockRepository.Commits.Returns(releaseLatestBranch.Commits);
152148

153149
var latestContext = GetGitVersionContext(fixture.RepositoryPath, mockRepository, releaseLatestBranch.CanonicalName, config);
154150
latestContext.Configuration.Increment.ShouldBe(IncrementStrategy.None);
155151

156-
mockRepository.Head = releaseVersionBranch;
152+
mockRepository.Head.Returns(releaseVersionBranch);
157153
var versionContext = GetGitVersionContext(fixture.RepositoryPath, mockRepository, releaseVersionBranch.CanonicalName, config);
158154
versionContext.Configuration.Increment.ShouldBe(IncrementStrategy.Patch);
159155
}

src/GitVersionCore.Tests/VersionCalculation/Strategies/MergeMessageBaseVersionStrategyTests.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using GitVersion.Model.Configuration;
66
using GitVersion.VersionCalculation;
77
using GitVersionCore.Tests.Helpers;
8-
using GitVersionCore.Tests.Mocks;
98
using NSubstitute;
109
using NUnit.Framework;
1110
using Shouldly;
@@ -28,12 +27,10 @@ public void ShouldNotAllowIncrementOfVersion()
2827
var branches = Substitute.For<IBranchCollection>();
2928
branches.GetEnumerator().Returns(_ => ((IEnumerable<IBranch>)new[] { mockBranch }).GetEnumerator());
3029

31-
var mockRepository = new MockRepository
32-
{
33-
Head = mockBranch,
34-
Branches = branches,
35-
Commits = mockBranch.Commits
36-
};
30+
var mockRepository = Substitute.For<IGitRepository>();
31+
mockRepository.Head.Returns(mockBranch);
32+
mockRepository.Branches.Returns(branches);
33+
mockRepository.Commits.Returns(mockBranch.Commits);
3734

3835
var contextBuilder = new GitVersionContextBuilder().WithRepository(mockRepository);
3936
contextBuilder.Build();
@@ -163,12 +160,13 @@ private static void AssertMergeMessage(string message, string expectedVersion, I
163160

164161
var mockBranch = GitToolsTestingExtensions.CreateMockBranch("master", commit, GitToolsTestingExtensions.CreateMockCommit());
165162

163+
var mockRepository = Substitute.For<IGitRepository>();
164+
mockRepository.Head.Returns(mockBranch);
165+
mockRepository.Commits.Returns(mockBranch.Commits);
166+
166167
var contextBuilder = new GitVersionContextBuilder()
167168
.WithConfig(config ?? new Config())
168-
.WithRepository(new MockRepository
169-
{
170-
Head = mockBranch
171-
});
169+
.WithRepository(mockRepository);
172170
contextBuilder.Build();
173171
var strategy = contextBuilder.ServicesProvider.GetServiceForType<IVersionStrategy, MergeMessageVersionStrategy>();
174172

0 commit comments

Comments
 (0)