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