コード例 #1
0
        public void Create_Returns_NHUnitOfWork_Instance_When_DataContextProvider_Has_Been_Set()
        {
            NHUnitOfWorkFactory.SetSessionProvider(() => MockRepository.GenerateStub <ISession>());

            var factory     = new NHUnitOfWorkFactory();
            var uowInstance = factory.Create();

            Assert.That(uowInstance, Is.Not.Null);
            Assert.That(uowInstance, Is.TypeOf(typeof(NHUnitOfWork)));

            NHUnitOfWorkFactory.SetSessionProvider(null);
        }
コード例 #2
0
        public virtual void SetUp()
        {
            Factory = Fluently.Configure()
                      .Database(MsSqlConfiguration
                                .MsSql2008
                                .ConnectionString(x => x.FromConnectionStringWithKey("testdb")))
                      .Mappings(mappings => mappings.FluentMappings.AddFromAssemblyOf <NHRepositoryTests>())
                      .ExposeConfiguration(config =>
            {
                var exportMode = ConfigurationManager.AppSettings["schemaExportMode"];
                switch (exportMode)
                {
                case ("Create"):
                    new SchemaExport(config).Create(false, true);
                    break;

                case ("Update"):
                    new SchemaUpdate(config).Execute(false, true);
                    break;

                case ("DropCreate"):
                    new SchemaExport(config).Drop(false, true);
                    new SchemaExport(config).Create(false, true);
                    break;
                }
            })
                      .BuildSessionFactory();

            Store.Local.Set("NHRepositoryTests.SessionFactory", Factory);
            NHUnitOfWorkFactory.SetSessionProvider(
                () => Store.Local.Get <ISessionFactory>("NHRepositoryTests.SessionFactory").OpenSession());

            var locator = MockRepository.GenerateStub <IServiceLocator>();

            locator.Stub(x => x.GetInstance <IUnitOfWorkFactory>())
            .Return(new NHUnitOfWorkFactory()).Repeat.Any();

            ServiceLocator.SetLocatorProvider(() => locator);
            HibernatingRhinos.NHibernate.Profiler.Appender.NHibernateProfiler.Initialize();
        }
コード例 #3
0
 public virtual void TearDown()
 {
     NHUnitOfWorkFactory.SetSessionProvider(null);
     Store.Local.Clear();
     HibernatingRhinos.NHibernate.Profiler.Appender.NHibernateProfiler.Stop();
 }