public void PoolShouldCloseSharedConnection() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db)) {} Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); SqlCeConnectionPool.CloseSharedConnection(db); Assert.AreEqual(0, TestableSqlCeConnectionPool.PoolSize); }
public void CanExecuteReaderFromDbCommand() { // Repeating this from base instead of calling base class because base // asserts don't match SQL CE database close semantics - we do explicit // pooling in CE, so connection doesn't actually close on close. IDataReader reader = db.ExecuteReader(queryCommand); DbConnection connection = queryCommand.Connection; string accumulator = ""; while (reader.Read()) { accumulator += ((string)reader["RegionDescription"]).Trim(); } reader.Close(); Assert.AreEqual("EasternWesternNorthernSouthern", accumulator); Assert.AreEqual(ConnectionState.Open, connection.State); // Forcing pool closed should close the connection SqlCeConnectionPool.CloseSharedConnection(db); Assert.AreEqual(ConnectionState.Closed, connection.State); }