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)); } } }