diff --git a/src/TestabilityKata.Tests/TestabilityKata.Tests.csproj b/src/TestabilityKata.Tests/TestabilityKata.Tests.csproj index f8c14f3..14ce7f0 100644 --- a/src/TestabilityKata.Tests/TestabilityKata.Tests.csproj +++ b/src/TestabilityKata.Tests/TestabilityKata.Tests.csproj @@ -1,17 +1,17 @@ - netcoreapp2.0 + net6.0 false - - - - - + + + + + diff --git a/src/TestabilityKata/ICustomFileWriter.cs b/src/TestabilityKata/ICustomFileWriter.cs new file mode 100644 index 0000000..2f2715f --- /dev/null +++ b/src/TestabilityKata/ICustomFileWriter.cs @@ -0,0 +1,9 @@ +namespace TestabilityKata +{ + public interface ICustomFileWriter + { + string FilePath { get; } + + void AppendLine(string line); + } +} \ No newline at end of file diff --git a/src/TestabilityKata/ICustomFileWriterFactory.cs b/src/TestabilityKata/ICustomFileWriterFactory.cs new file mode 100644 index 0000000..6c048c2 --- /dev/null +++ b/src/TestabilityKata/ICustomFileWriterFactory.cs @@ -0,0 +1,7 @@ +namespace TestabilityKata +{ + public interface ICustomFileWriterFactory + { + ICustomFileWriter Create(string filePath); + } +} \ No newline at end of file diff --git a/src/TestabilityKata/ILogger.cs b/src/TestabilityKata/ILogger.cs new file mode 100644 index 0000000..c2e8a99 --- /dev/null +++ b/src/TestabilityKata/ILogger.cs @@ -0,0 +1,7 @@ +namespace TestabilityKata +{ + public interface ILogger + { + void Log(LogLevel logLevel, string logText); + } +} \ No newline at end of file diff --git a/src/TestabilityKata/IMailSender.cs b/src/TestabilityKata/IMailSender.cs new file mode 100644 index 0000000..89209c3 --- /dev/null +++ b/src/TestabilityKata/IMailSender.cs @@ -0,0 +1,7 @@ +namespace TestabilityKata +{ + public interface IMailSender + { + void SendMail(string recipient, string content); + } +} \ No newline at end of file diff --git a/src/TestabilityKata/IProgram.cs b/src/TestabilityKata/IProgram.cs new file mode 100644 index 0000000..944bf3b --- /dev/null +++ b/src/TestabilityKata/IProgram.cs @@ -0,0 +1,7 @@ +namespace TestabilityKata +{ + public interface IProgram + { + void Run(); + } +} \ No newline at end of file diff --git a/src/TestabilityKata/Program.cs b/src/TestabilityKata/Program.cs index 88e9322..38cbb8c 100644 --- a/src/TestabilityKata/Program.cs +++ b/src/TestabilityKata/Program.cs @@ -3,7 +3,7 @@ namespace TestabilityKata { - public class Program + public class Program : IProgram { public static void Main(string[] args) { @@ -16,12 +16,12 @@ public static void Main(string[] args) .Run(); } - private readonly Logger logger; - private readonly MailSender mailSender; + private readonly ILogger logger; + private readonly IMailSender mailSender; public Program( - Logger logger, - MailSender mailSender) + ILogger logger, + IMailSender mailSender) { this.logger = logger; this.mailSender = mailSender; @@ -49,14 +49,14 @@ public enum LogLevel Error } - public class Logger + public class Logger : ILogger { - private readonly MailSender mailSender; - private readonly CustomFileWriterFactory customFileWriterFactory; + private readonly IMailSender mailSender; + private readonly ICustomFileWriterFactory customFileWriterFactory; public Logger( - MailSender mailSender, - CustomFileWriterFactory customFileWriterFactory) + IMailSender mailSender, + ICustomFileWriterFactory customFileWriterFactory) { this.mailSender = mailSender; this.customFileWriterFactory = customFileWriterFactory; @@ -80,7 +80,7 @@ public void Log(LogLevel logLevel, string logText) } } - public class MailSender + public class MailSender : IMailSender { public void SendMail(string recipient, string content) { @@ -92,17 +92,17 @@ public void SendMail(string recipient, string content) } } - public class CustomFileWriterFactory + public class CustomFileWriterFactory : ICustomFileWriterFactory { - private readonly MailSender mailSender; + private readonly IMailSender mailSender; public CustomFileWriterFactory( - MailSender mailSender) + IMailSender mailSender) { this.mailSender = mailSender; } - public CustomFileWriter Create(string filePath) + public ICustomFileWriter Create(string filePath) { return new CustomFileWriter( mailSender, @@ -110,14 +110,14 @@ public CustomFileWriter Create(string filePath) } } - public class CustomFileWriter + public class CustomFileWriter : ICustomFileWriter { - private readonly MailSender mailSender; + private readonly IMailSender mailSender; public string FilePath { get; } public CustomFileWriter( - MailSender mailSender, + IMailSender mailSender, string filePath) { this.mailSender = mailSender; diff --git a/src/TestabilityKata/TestabilityKata.csproj b/src/TestabilityKata/TestabilityKata.csproj index ce1697a..41f1d5a 100644 --- a/src/TestabilityKata/TestabilityKata.csproj +++ b/src/TestabilityKata/TestabilityKata.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + net6.0