diff --git a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
index 9f5984e5..52c3619e 100644
--- a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
+++ b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
@@ -532,7 +532,7 @@ namespace Spring.Data.Core
}
#endregion
- return (int)Execute(new ExecuteScalarCallbackWithCommandSetter(cmdType, cmdText, commandSetter));
+ return Execute(new ExecuteScalarCallbackWithCommandSetter(cmdType, cmdText, commandSetter));
}
diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/AdoDaoTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/AdoDaoTests.cs
index 120708b7..c882a6fd 100644
--- a/test/Spring/Spring.Data.Integration.Tests/Data/AdoDaoTests.cs
+++ b/test/Spring/Spring.Data.Integration.Tests/Data/AdoDaoTests.cs
@@ -4,19 +4,59 @@ using Spring.Context;
using Spring.Context.Support;
using Spring.Dao;
using Spring.Objects;
+using Spring.Testing.NUnit;
namespace Spring.Data
{
///
- /// Summary description for AdoTemplateTests.
+ /// Test AdoTemplate based DAO object.
///
[TestFixture]
- public class AdoDaoTests
+ public class AdoDaoTests : AbstractTransactionalSpringContextTests
{
- public AdoDaoTests()
- {
- }
+ private TestObjectDao dao;
+
+ public TestObjectDao TestObjectDao
+ {
+ get { return dao; }
+ set { dao = value; }
+ }
+
+ [Test]
+ public void ExerciseDao()
+ {
+ Assert.AreEqual(0, dao.GetCount());
+ dao.Create("John", 44);
+ Assert.AreEqual(1, dao.GetCountByDelegate());
+ dao.Create("Mary", 44);
+ dao.Create("Steve", 44);
+ dao.Create("George", 33);
+ Assert.AreEqual(4, dao.GetCount(), "GetCount()");
+ Assert.AreEqual(3, dao.GetCount(33), "GetCount(33)");
+ Assert.AreEqual(3, dao.GetCountByAltMethod(33), "GetCountByAltMethod(33)");
+ Assert.AreEqual(3, dao.GetCountByCommandSetter(33), "GetCountByCommandSetter(33)");
+ Assert.AreEqual(1, dao.GetCount(32, "George"), "GetCount(32, 'George')");
+
+ TestObject to = dao.FindByName("George");
+ Assert.IsNotNull(to);
+ Assert.AreEqual("George", to.Name);
+ Assert.AreEqual(33, to.Age);
+
+ to.Age = 34;
+ dao.Update(to);
+
+ TestObject to2 = dao.FindByName("George");
+ Assert.AreEqual(34, to2.Age);
+
+ dao.Delete("George");
+
+ TestObject to3 = dao.FindByName("George");
+ Assert.IsNull(to3);
+
+ }
+
+ [Ignore]
[Test]
public void SimpleCreate()
{
@@ -27,6 +67,8 @@ namespace Spring.Data
Assert.IsNotNull(dao);
dao.Create("John", 44);
}
+
+ [Ignore]
[Test]
public void SimpleDao()
{
@@ -45,6 +87,7 @@ namespace Spring.Data
}
+ [Ignore]
[Test]
public void SimpleDao2()
{
@@ -56,6 +99,7 @@ namespace Spring.Data
Assert.AreEqual(1, dao.GetCountByDelegate());
}
+ [Ignore]
[Test]
public void DaoOperations()
{
@@ -83,5 +127,22 @@ namespace Spring.Data
}
+
+ #region Overrides of AbstractDependencyInjectionSpringContextTests
+
+ ///
+ /// Subclasses must implement this property to return the locations of their
+ /// config files. A plain path will be treated as a file system location.
+ ///
+ /// An array of config locations
+ protected override string[] ConfigLocations
+ {
+ get
+ {
+ return new string[] { "assembly://Spring.Data.Integration.Tests/Spring.Data/templateTests.xml" };
+ }
+ }
+
+ #endregion
}
}
diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/templateTests.xml b/test/Spring/Spring.Data.Integration.Tests/Data/templateTests.xml
index fd1cf8e1..215d3b73 100644
--- a/test/Spring/Spring.Data.Integration.Tests/Data/templateTests.xml
+++ b/test/Spring/Spring.Data.Integration.Tests/Data/templateTests.xml
@@ -4,7 +4,7 @@
+ connectionString="Data Source=SPRINGQA;Initial Catalog=Spring;User ID=springqa; Password=springqa"/>
-