public ARUnitOfWorkTestContext( UnitOfWorkTestContextDbStrategy dbStrategy, string rhinoContainerConfigPath, MappingInfo assemblies) : base(dbStrategy, rhinoContainerConfigPath, assemblies) { }
public UnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string rhinoContainerConfigPath, MappingInfo assemblies) { this.rhinoContainerConfigPath = rhinoContainerConfigPath ?? string.Empty; this.dbStrategy = dbStrategy; mappingInfo = assemblies; this.dbStrategy.TestContext = this; }
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); }
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 })); }
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(); } }
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); }
/// <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); } }
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}); }
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; }
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(); } }