GildedRose-Refactoring-Kata/TestNinja/TestNinja.UnitTests/UnitTests/ErrorLoggerTests.cs
2018-11-11 18:50:47 +01:00

45 lines
1.1 KiB
C#

using System;
using NUnit.Framework;
using TestNinja.Fundamentals;
namespace TestNinja.UnitTests.UnitTests
{
[TestFixture]
class ErrorLoggerTests
{
[Test]
public void Log_WhenCalled_SetTheLastErrorProperty()
{
var errorLogger = new ErrorLogger();
errorLogger.Log("some error");
Assert.That(errorLogger.LastError, Is.EqualTo("some error"));
}
[Test]
[TestCase(null)]
[TestCase("")]
[TestCase(" ")]
public void Log_InvalidError_ThrowArgumentNullException(string error)
{
var logger = new ErrorLogger();
Assert.That(() => logger.Log(error), Throws.ArgumentNullException);
}
[Test]
public void Log_ValidError_RaiseErrorLoggedEvent()
{
var logger = new ErrorLogger();
var id = Guid.Empty;
logger.ErrorLogged += (sender, args) => { id = args; };
logger.Log("a");
Assert.That(id, Is.Not.EqualTo(Guid.Empty));
}
}
}