コード例 #1
0
 public ARUnitOfWorkTestContext(
     UnitOfWorkTestContextDbStrategy dbStrategy,
     string rhinoContainerConfigPath,
     MappingInfo assemblies)
     : base(dbStrategy, rhinoContainerConfigPath, assemblies)
 {
 }
コード例 #2
0
 public ARUnitOfWorkTestContext(
     UnitOfWorkTestContextDbStrategy dbStrategy,
     string rhinoContainerConfigPath,
     MappingInfo assemblies)
     : base(dbStrategy, rhinoContainerConfigPath, assemblies)
 {
 }
コード例 #3
0
 public UnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy,
                              string rhinoContainerConfigPath,
                              MappingInfo assemblies)
 {
     this.rhinoContainerConfigPath = rhinoContainerConfigPath ?? string.Empty;
     this.dbStrategy             = dbStrategy;
     mappingInfo                 = assemblies;
     this.dbStrategy.TestContext = this;
 }
コード例 #4
0
        public static UnitOfWorkTestContext For(PersistenceFramework framwork,
                                                IWindsorContainer container,
                                                UnitOfWorkTestContextDbStrategy dbStrategy,
                                                MappingInfo mappingInfo)
        {
            UnitOfWorkTestContext context = For(framwork, string.Empty, dbStrategy, mappingInfo);

            context.rhinoContainer = container;
            return(context);
        }
コード例 #5
0
 private static UnitOfWorkTestContext CreateActiveRecordImplementation(UnitOfWorkTestContextDbStrategy dbStrategy,
                                                                       MappingInfo mappingInfo,
                                                                       string rhinoContainerConfig)
 {
     if (activeRecordType == null)
     {
         activeRecordType = Type.GetType(activeRecordTestContextType);
     }
     if (activeRecordType == null)
     {
         throw new InvalidOperationException("Could not find Active Record context type. Did you forget to reference 'Rhino.Commons.ActiveRecord'?");
     }
     return
         ((UnitOfWorkTestContext)
          Activator.CreateInstance(activeRecordType,
                                   new object[] { dbStrategy, rhinoContainerConfig, mappingInfo }));
 }
コード例 #6
0
        public static UnitOfWorkTestContext For(PersistenceFramework framwork,
                                                string rhinoContainerConfig,
                                                UnitOfWorkTestContextDbStrategy dbStrategy,
                                                MappingInfo mappingInfo)
        {
            switch (framwork)
            {
            case PersistenceFramework.ActiveRecord:
                return(CreateActiveRecordImplementation(dbStrategy, mappingInfo, rhinoContainerConfig));

            case PersistenceFramework.NHibernate:
                return(new NHibernateUnitOfWorkTestContext(dbStrategy, rhinoContainerConfig, mappingInfo));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #7
0
            protected internal UnitOfWorkTestContext GetUnitOfWorkTestContext()
            {
                Predicate <UnitOfWorkTestContext> criteria = null;

                if (container == null)
                {
                    criteria = delegate(UnitOfWorkTestContext x)
                    {
                        return(x.Framework == root.PersistenceFramework &&
                               x.RhinoContainerConfigPath == StringOrEmpty(rhinoContainerConfigPath) &&
                               x.DatabaseEngine == root.DatabaseEngine &&
                               x.DatabaseName == root.DatabaseName);
                    };
                }
                else
                {
                    criteria = delegate(UnitOfWorkTestContext x)
                    {
                        return(x.Framework == root.PersistenceFramework &&
                               x.RhinoContainer == container &&
                               x.DatabaseEngine == root.DatabaseEngine &&
                               x.DatabaseName == root.DatabaseName);
                    };
                }


                UnitOfWorkTestContext context = Contexts.Find(criteria);

                if (context == null)
                {
                    UnitOfWorkTestContextDbStrategy dbStrategy =
                        UnitOfWorkTestContextDbStrategy.For(root.DatabaseEngine, root.DatabaseName, root.NHibernateConfigurationProperties);
                    if (container != null)
                    {
                        context = UnitOfWorkTestContext.For(root.PersistenceFramework, container, dbStrategy, root.MappingInfo);
                    }
                    else
                    {
                        context = UnitOfWorkTestContext.For(root.PersistenceFramework, rhinoContainerConfigPath, dbStrategy, root.MappingInfo);
                    }
                    Contexts.Add(context);
                    Debug.Print(string.Format("Created another UnitOfWorkContext for: {0}", context));
                }
                return(context);
            }
コード例 #8
0
        /// <summary>
        /// Initialize NHibernate, build a session factory, and initialize the container.
        /// If <paramref name="rhinoContainerConfig"/> is <see langword="null" /> or <see cref="string.Empty">string.Empty</see>
        /// a <see cref="RhinoContainer">RhinoContainer</see> will not be initialized.
        /// </summary>
        /// <param name="rhinoContainerConfig">The configuration file to initialize a <see cref="RhinoContainer">RhinoContainer</see>
        /// or <see langword="null" />.</param>
        /// <param name="assemblies">The assemblies to load for NHibernate mapping files.</param>
        public static void FixtureInitialize(string rhinoContainerConfig, params Assembly[] assemblies)
        {
            if (context == null)
            {
                UnitOfWorkTestContextDbStrategy dbStrategy =
                    UnitOfWorkTestContextDbStrategy.For(DatabaseEngine.MsSqlCe, DatabaseFilename);
                context =
                    UnitOfWorkTestContext.For(PersistenceFramework.NHibernate,
                                              rhinoContainerConfig,
                                              dbStrategy,
                                              MappingInfo.From(assemblies));
            }

            if (!string.IsNullOrEmpty(context.RhinoContainerConfigPath))
            {
                if (!IoC.IsInitialized)
                {
                    IoC.Initialize(context.RhinoContainer);
                }
                NHibernateUnitOfWorkFactory hibernateUnitOfWorkFactory = (NHibernateUnitOfWorkFactory)IoC.Resolve <IUnitOfWorkFactory>();
                hibernateUnitOfWorkFactory.RegisterSessionFactory(context.SessionFactory);
            }
        }
コード例 #9
0
 public UnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy,
                              string rhinoContainerConfigPath,
                              MappingInfo assemblies)
 {
     this.rhinoContainerConfigPath = rhinoContainerConfigPath ?? string.Empty;
     this.dbStrategy = dbStrategy;
     mappingInfo = assemblies;
     this.dbStrategy.TestContext = this;
 }
コード例 #10
0
 private static UnitOfWorkTestContext CreateActiveRecordImplementation(UnitOfWorkTestContextDbStrategy dbStrategy,
                                                                         MappingInfo mappingInfo,
                                                                         string rhinoContainerConfig)
 {
     if (activeRecordType == null)
         activeRecordType = Type.GetType(activeRecordTestContextType);
     if (activeRecordType == null)
     {
         throw new InvalidOperationException("Could not find Active Record context type. Did you forget to reference 'Rhino.Commons.ActiveRecord'?");
     }
     return
         (UnitOfWorkTestContext)
         Activator.CreateInstance(activeRecordType,
                                  new object[] {dbStrategy, rhinoContainerConfig, mappingInfo});
 }
コード例 #11
0
 public static UnitOfWorkTestContext For(PersistenceFramework framwork,
                                         IWindsorContainer container,
                                         UnitOfWorkTestContextDbStrategy dbStrategy,
                                         MappingInfo mappingInfo)
 {
     UnitOfWorkTestContext context = For(framwork, string.Empty, dbStrategy, mappingInfo);
     context.rhinoContainer = container;
     return context;
 }
コード例 #12
0
 public static UnitOfWorkTestContext For(PersistenceFramework framwork,
                                         string rhinoContainerConfig,
                                         UnitOfWorkTestContextDbStrategy dbStrategy,
                                         MappingInfo mappingInfo)
 {
     switch (framwork)
     {
         case PersistenceFramework.ActiveRecord:
             return CreateActiveRecordImplementation(dbStrategy, mappingInfo, rhinoContainerConfig);
         case PersistenceFramework.NHibernate:
             return new NHibernateUnitOfWorkTestContext(dbStrategy, rhinoContainerConfig, mappingInfo);
         default:
             throw new ArgumentOutOfRangeException();
     }
 }