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. |