For() public static method

인자에 맞는 UnitOfWorkTestContext의 인스턴스를 빌드한다.
public static For ( IWindsorContainer container, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action configAction ) : UnitOfWorkTestContext
container IWindsorContainer Container
dbStrategy UnitOfWorkTestContextDbStrategy 테스트용 DB 생성 전략
mappingInfo MappingInfo NHibernate용 Entity 정보
configAction Action 추가 환경설정 작업용 델리게이트
return UnitOfWorkTestContext
            protected internal UnitOfWorkTestContext GetUnitOfWorkTestContext()
            {
                Predicate <UnitOfWorkTestContext> criteria;

                if (_container == null)
                {
                    criteria = ctx => ctx.ContainerConfigPath == StringOrEmpty(_containerConfigPath) &&
                               ctx.DatabaseEngine == _root.DatabaseEngine &&
                               ctx.DatabaseName == _root.DatabaseName;
                }
                else
                {
                    criteria = ctx => ctx.Container == _container &&
                               ctx.DatabaseEngine == _root.DatabaseEngine &&
                               ctx.DatabaseName == _root.DatabaseName;
                }

                var context = Contexts.Find(criteria);

                if (context == null)
                {
                    var dbStrategy = UnitOfWorkTestContextDbStrategy.For(_root.DatabaseEngine,
                                                                         _root.DatabaseName,
                                                                         _root.NHibernateConfigurationProperties);

                    context = (_container != null)
                                  ? UnitOfWorkTestContext.For(_container, dbStrategy, _root.MappingInfo, _root.ConfigAction)
                                  : UnitOfWorkTestContext.For(_containerConfigPath, dbStrategy, _root.MappingInfo, _root.ConfigAction);


                    Contexts.Add(context);

                    if (IsDebugEnabled)
                    {
                        log.Debug("Create another UnitOfWorkContext for: [{0}]", context);
                    }
                }
                return(context);
            }