|
From: <fab...@us...> - 2010-08-14 16:53:05
|
Revision: 5142
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5142&view=rev
Author: fabiomaulo
Date: 2010-08-14 16:52:58 +0000 (Sat, 14 Aug 2010)
Log Message:
-----------
DbProviderFactoryDriveConnectionCommandProvider
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/NHibernate.csproj
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Driver/DbProviderFactoryDriveConnectionCommandProvider.cs
trunk/nhibernate/src/NHibernate.Test/DriverTest/DbProviderFactoryDriveConnectionCommandProviderTest.cs
Added: trunk/nhibernate/src/NHibernate/Driver/DbProviderFactoryDriveConnectionCommandProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/DbProviderFactoryDriveConnectionCommandProvider.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Driver/DbProviderFactoryDriveConnectionCommandProvider.cs 2010-08-14 16:52:58 UTC (rev 5142)
@@ -0,0 +1,30 @@
+using System;
+using System.Data;
+using System.Data.Common;
+
+namespace NHibernate.Driver
+{
+ public class DbProviderFactoryDriveConnectionCommandProvider : IDriveConnectionCommandProvider
+ {
+ private readonly DbProviderFactory dbProviderFactory;
+
+ public DbProviderFactoryDriveConnectionCommandProvider(DbProviderFactory dbProviderFactory)
+ {
+ if (dbProviderFactory == null)
+ {
+ throw new ArgumentNullException("dbProviderFactory");
+ }
+ this.dbProviderFactory = dbProviderFactory;
+ }
+
+ public IDbConnection CreateConnection()
+ {
+ return dbProviderFactory.CreateConnection();
+ }
+
+ public IDbCommand CreateCommand()
+ {
+ return dbProviderFactory.CreateCommand();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-14 15:59:58 UTC (rev 5141)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-14 16:52:58 UTC (rev 5142)
@@ -593,6 +593,7 @@
<Compile Include="Dialect\SybaseASA10Dialect.cs" />
<Compile Include="Dialect\SybaseASA9Dialect.cs" />
<Compile Include="Driver\CsharpSqliteDriver.cs" />
+ <Compile Include="Driver\DbProviderFactoryDriveConnectionCommandProvider.cs" />
<Compile Include="Driver\IDriveConnectionCommandProvider.cs" />
<Compile Include="Driver\IfxDriver.cs" />
<Compile Include="Driver\OracleLiteDataClientDriver.cs" />
Added: trunk/nhibernate/src/NHibernate.Test/DriverTest/DbProviderFactoryDriveConnectionCommandProviderTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/DriverTest/DbProviderFactoryDriveConnectionCommandProviderTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/DriverTest/DbProviderFactoryDriveConnectionCommandProviderTest.cs 2010-08-14 16:52:58 UTC (rev 5142)
@@ -0,0 +1,39 @@
+using System;
+using System.Data.Common;
+using NHibernate.Driver;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.DriverTest
+{
+ public class DbProviderFactoryDriveConnectionCommandProviderTest
+ {
+ [Test]
+ public void WhenCreatedWithNullDbFactoryThenThrows()
+ {
+ Executing.This(() => new DbProviderFactoryDriveConnectionCommandProvider(null)).Should().Throw<ArgumentNullException>();
+ }
+
+ [Test]
+ public void WhenCreatedWithDbFactoryThenCanReturnConnection()
+ {
+ var factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
+ var provider = new DbProviderFactoryDriveConnectionCommandProvider(factory);
+ using(var connection =provider.CreateConnection())
+ {
+ connection.Should().Not.Be.Null();
+ }
+ }
+
+ [Test]
+ public void WhenCreatedWithDbFactoryThenCanReturnCommand()
+ {
+ var factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
+ var provider = new DbProviderFactoryDriveConnectionCommandProvider(factory);
+ using (var command = provider.CreateCommand())
+ {
+ command.Should().Not.Be.Null();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-14 15:59:58 UTC (rev 5141)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-14 16:52:58 UTC (rev 5142)
@@ -181,6 +181,7 @@
<Compile Include="Criteria\ProjectionsTest.cs" />
<Compile Include="Criteria\Reptile.cs" />
<Compile Include="DialectTest\MsSqlCe40DialectFixture.cs" />
+ <Compile Include="DriverTest\DbProviderFactoryDriveConnectionCommandProviderTest.cs" />
<Compile Include="DriverTest\Sql2008DateTime2Test.cs" />
<Compile Include="DriverTest\SqlClientDriverFixture.cs" />
<Compile Include="DriverTest\SqlServerCeDriverFixture.cs" />
@@ -2578,7 +2579,6 @@
<EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" />
</ItemGroup>
<ItemGroup>
- <Folder Include="NHSpecificTest\NH2224" />
<Folder Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|