Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions src/TestabilityKata.Tests/CustomFileWriterTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Autofac;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NSubstitute;
using System;
using System.Collections.Generic;
Expand All @@ -12,20 +13,28 @@ public class CustomFileWriterTest
{
private IMailSender fakeMailSender;

private ICustomFileWriterFactory customFileWriterFactory;

[TestInitialize]
public void Initialize()
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule(new TestabilityKataAutofacConfiguration());

fakeMailSender = Substitute.For<IMailSender>();

containerBuilder.Register(c => fakeMailSender).As<IMailSender>();

var container = containerBuilder.Build();
customFileWriterFactory = container.Resolve<ICustomFileWriterFactory>();
}

[TestMethod]
public void WhenCreatingFileAnEmailIsSentOut()
{
const string testFilePath = @"C:\WhenCreatingFileAnEmailIsSentOut.txt";

var customFileWriter = new CustomFileWriter(
fakeMailSender,
testFilePath);
var customFileWriter = customFileWriterFactory.Create(testFilePath);

//if the existing file exists, delete it before running the test, since
//we need to get to the point where a new file is created.
Expand Down
9 changes: 7 additions & 2 deletions src/TestabilityKata.Tests/MailSenderTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Autofac;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Text;
Expand All @@ -13,7 +14,11 @@ public class MailSenderTest
[TestInitialize]
public void Initialize()
{
mailSender = new MailSender();
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule(new TestabilityKataAutofacConfiguration());

var container = containerBuilder.Build();
mailSender = container.Resolve<IMailSender>();
}

[TestMethod]
Expand Down
11 changes: 8 additions & 3 deletions src/TestabilityKata.Tests/ProgramTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,17 @@ public class ProgramTest
[TestInitialize]
public void Initialize()
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule(new TestabilityKataAutofacConfiguration());

fakeMailSender = Substitute.For<IMailSender>();
fakeLogger = Substitute.For<ILogger>();

program = new Program(
fakeLogger,
fakeMailSender);
containerBuilder.Register(c => fakeMailSender).As<IMailSender>();
containerBuilder.Register(c => fakeLogger).As<ILogger>();

var container = containerBuilder.Build();
program = container.Resolve<IProgram>();
}

[TestMethod]
Expand Down
12 changes: 6 additions & 6 deletions src/TestabilityKata.Tests/TestabilityKata.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="FluffySpoon.Testing.Autofake.Autofac" Version="1.0.5" />
<PackageReference Include="FluffySpoon.Testing.Autofake.NSubstitute" Version="1.0.5" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />
<PackageReference Include="FluffySpoon.Testing.Autofake.Autofac" Version="1.34.0" />
<PackageReference Include="FluffySpoon.Testing.Autofake.NSubstitute" Version="1.34.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
</ItemGroup>

<ItemGroup>
Expand Down
15 changes: 8 additions & 7 deletions src/TestabilityKata/Program.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using Autofac;
using System;
using System.IO;

namespace TestabilityKata
Expand All @@ -7,12 +8,12 @@ public class Program : IProgram
{
public static void Main(string[] args)
{
var mailSender = new MailSender();
new Program(
new Logger(
mailSender,
new CustomFileWriterFactory(mailSender)),
mailSender)
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule(new TestabilityKataAutofacConfiguration());

var container = containerBuilder.Build();
container
.Resolve<IProgram>()
.Run();
}

Expand Down
6 changes: 5 additions & 1 deletion src/TestabilityKata/TestabilityKata.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="autofac" Version="4.6.1" />
</ItemGroup>

</Project>
20 changes: 20 additions & 0 deletions src/TestabilityKata/TestabilityKataAutofacConfiguration.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using Autofac;
using System;
using System.Collections.Generic;
using System.Text;

namespace TestabilityKata
{
public class TestabilityKataAutofacConfiguration: Module
{
protected override void Load(ContainerBuilder builder)
{
builder
.RegisterAssemblyTypes(
typeof(TestabilityKataAutofacConfiguration).Assembly)
.AsImplementedInterfaces();

base.Load(builder);
}
}
}