protected void TestInsertAndRetrieve(Func <T> creator = null) { var aggregate = Endpoint.ActOnSqlSession(ExecutionContainer, session => { var item = creator != null ? creator() : CreateAggregate(); session.Save(item); return(item); }); Endpoint.AssertOnSqlSessionThat(ExecutionContainer, s => { var retrievedAggregate = s.Get <T>(aggregate.Id); retrievedAggregate.Should().BeEquivalentTo(aggregate, Options); }); }