public void ShouldPopulateWithHttpContext()
        {
            DefaultHttpContext ctx = new DefaultHttpContext();

            ctx.Connection.RemoteIpAddress = new System.Net.IPAddress(new byte[] { 127, 0, 0, 1 });
            AuditEvent expected = new AuditEvent()
            {
                ApplicationType       = ApplicationType.Configuration,
                ClientIP              = "127.0.0.1",
                Trace                 = ctx.TraceIdentifier,
                TransactionName       = @"\",
                TransactionResultCode = AuditTransactionResult.Success,
                TransactionVersion    = ""
            };

            Mock <ILogger <IAuditLogger> >  logger    = new Mock <ILogger <IAuditLogger> >();
            Mock <IWriteAuditEventDelegate> dbContext = new Mock <IWriteAuditEventDelegate>();
            Mock <IConfiguration>           config    = new Mock <IConfiguration>();
            AuditLogger auditLogger = new AuditLogger(logger.Object, dbContext.Object, config.Object);

            AuditEvent actual = new AuditEvent();

            auditLogger.PopulateWithHttpContext(ctx, actual);

            Assert.True(expected.IsDeepEqual(actual));
        }