Skip to content

Commit 9832090

Browse files
Make fully loosely coupled by Dependency Injection
1 parent 5491e5c commit 9832090

File tree

4 files changed

+15
-4
lines changed

4 files changed

+15
-4
lines changed

UnitTestingUsingNUnitWithMoq/CreditDecision.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ namespace UnitTestingUsingNUnitWithMoq
44
{
55
public class CreditDecision
66
{
7-
readonly CreditDecisionService creditDecisionService;
7+
readonly ICreditDecisionService creditDecisionService;
88

9-
// We have made this loosely coupled but can not inject Moq instance instead of CreditDecisionService
10-
public CreditDecision(CreditDecisionService creditDecisionService)
9+
// This assumes that there is an existing ICreditDecisionService interface
10+
// and that CreditDecisionService implements it.
11+
public CreditDecision(ICreditDecisionService creditDecisionService)
1112
{
1213
this.creditDecisionService = creditDecisionService;
1314
}

UnitTestingUsingNUnitWithMoq/CreditDecisionService.cs

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

33
namespace UnitTestingUsingNUnitWithMoq
44
{
5-
public class CreditDecisionService
5+
public class CreditDecisionService : ICreditDecisionService
66
{
77
public CreditDecisionService()
88
{
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using System;
2+
3+
namespace UnitTestingUsingNUnitWithMoq
4+
{
5+
public interface ICreditDecisionService
6+
{
7+
string GetCreditDecision(int creditScore);
8+
}
9+
}

UnitTestingUsingNUnitWithMoq/UnitTestingUsingNUnitWithMoq.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<ItemGroup>
4646
<Compile Include="CreditDecision.cs" />
4747
<Compile Include="CreditDecisionService.cs" />
48+
<Compile Include="ICreditDecisionService.cs" />
4849
<Compile Include="Program.cs" />
4950
<Compile Include="Properties\AssemblyInfo.cs" />
5051
</ItemGroup>

0 commit comments

Comments
 (0)