public void ResetInstanceCache_Should_RemoveAllSession()
        {
            // Arrange
            var db = new MockUnitTestDatabase(InitializeDatabase, ref _sessionName);

            // Act
            UnitTestDatabase.ResetInstanceCache();

            // Assert
            Assert.Equal(0, db.DefinedSessions);
        }
        public void Instance_Should_RecreateSession_When_SessionIsRemovedOrExpiredFromCache()
        {
            // Arrange
            _ = new UnitTestDatabase(InitializeDatabase, ref _sessionName);

            // Act
            UnitTestDatabase.ResetInstanceCache();
            var session = NHibernateDatabaseBase.Instance.SessionFactory("UnitTestDatabase").OpenSession();

            // Assert
            Assert.NotNull(session);
        }
        public void RemoveInstance_Should_RemoveOnlySessionSpecified()
        {
            // Arrange
            var db1     = new MockUnitTestDatabase(InitializeDatabase, ref _sessionName);
            var session = _sessionName;
            var db2     = new MockUnitTestDatabase(InitializeDatabase, ref _sessionName);

            // Act
            UnitTestDatabase.RemoveInstance(session);

            // Assert
            Assert.Equal(1, db1.DefinedSessions);
            Assert.Equal(1, db2.DefinedSessions);
        }
Esempio n. 4
0
        public void NHibernateDatabaseBase_Should_ReturnFrankForSecondRecord()
        {
            // Arrange
            var session = new UnitTestDatabase(InitializeDatabase, ref _sessionName).Session;

            var criteria = session.CreateCriteria <Employee>();

            criteria.Add(Expression.Eq("Name", "Frank"));

            // Act
            var employees = criteria.List <Employee>();
            var results   = employees[0];

            // Assert
            Assert.Equal("Frank", results.Name);
        }
Esempio n. 5
0
        public void NHibernateDatabaseBase_Should_ReturnDebbieForFirstRecord()
        {
            // Arrange
            var db = new UnitTestDatabase(Assembly.GetExecutingAssembly(), InitializeDatabase, ref _sessionName);

            var session  = NHibernateDatabaseBase.Instance.SessionFactory(db.SessionName).OpenSession();
            var criteria = session.CreateCriteria <Employee>();

            criteria.Add(Expression.Eq("Name", "Debbie"));

            // Act
            var employees = criteria.List <Employee>();
            var results   = employees[0];

            // Assert
            Assert.Equal("Debbie", results.Name);
        }
        public void RemoveInstance_Should_NotRemoveSessionThatDoesNotExist()
        {
            var obj = new Object();

            lock (obj)
            {
                // Arrange
                var db       = new MockUnitTestDatabase(InitializeDatabase, ref _sessionName);
                var sessions = db.DefinedSessions;

                // Act
                UnitTestDatabase.RemoveInstance("NONEXIST");

                // Assert
                Assert.Equal(sessions, db.DefinedSessions);
            }
        }