You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by gb...@apache.org on 2005/12/02 21:26:42 UTC
svn commit: r351830 - in /ibatis/trunk/cs/mapper: IBatisNet.DataMapper.Test/
IBatisNet.DataMapper.Test/NUnit/SqlMapTests/
IBatisNet.DataMapper.Test/NUnit/SqlMapTests/NewFolder1/
IBatisNet.DataMapper/MappedStatements/
Author: gbayon
Date: Fri Dec 2 12:26:26 2005
New Revision: 351830
URL: http://svn.apache.org/viewcvs?rev=351830&view=rev
Log:
IBATISNET-119
IBATISNET-118
Added nunit test for cache
Added:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/NewFolder1/
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheKeyTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj?rev=351830&r1=351829&r2=351830&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj Fri Dec 2 12:26:26 2005
@@ -796,6 +796,7 @@
SubType = "Code"
BuildAction = "Compile"
/>
+ <Folder RelPath = "NUnit\SqlMapTests\NewFolder1\" />
<File
RelPath = "NUnit\SqlMapTests\Oracle\ProcedureTest.cs"
SubType = "Code"
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheKeyTest.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheKeyTest.cs?rev=351830&r1=351829&r2=351830&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheKeyTest.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheKeyTest.cs Fri Dec 2 12:26:26 2005
@@ -1,8 +1,6 @@
-using Cache = IBatisNet.DataMapper.Configuration.Cache;
-using IBatisNet.DataMapper.TypeHandlers;
-using NUnit.Framework;
+using NUnit.Framework;
namespace IBatisNet.DataMapper.Test.NUnit.SqlMapTests
{
@@ -28,36 +26,45 @@
private static void DoTestClassEquals(long firstLong, long secondLong)
{
- TypeHandlerFactory factory = new TypeHandlerFactory();
-
// Two cache keys are equal except for the parameter.
- Cache.CacheKey key = new Cache.CacheKey();
- TestClass clazz = new TestClass(firstLong);
+ Configuration.Cache.CacheKey key = new Configuration.Cache.CacheKey();
- key.Update(clazz.AProperty);
+ key.Update(firstLong);
- Cache.CacheKey aDifferentKey = new Cache.CacheKey();
- clazz = new TestClass(secondLong);
+ Configuration.Cache.CacheKey aDifferentKey = new Configuration.Cache.CacheKey();
- key.Update(clazz.AProperty);
+ key.Update(secondLong);
Assert.IsFalse(aDifferentKey.Equals(key)); // should not be equal.
}
- private class TestClass
+ [Test]
+ public void CacheKeyWithSameHashcode()
+ {
+ Configuration.Cache.CacheKey key1 = new Configuration.Cache.CacheKey();
+ Configuration.Cache.CacheKey key2 = new Configuration.Cache.CacheKey();
+
+ key1.Update("HS1CS001");
+ key2.Update("HS1D4001");
+
+ Assert.AreEqual( key1.GetHashCode(), key2.GetHashCode(), "Expect same hashcode.");
+ Assert.IsFalse( key1.Equals(key2),"Expect not equal");
+ }
+
+ [Test]
+ public void CacheKeyWithTwoParamsSameHashcode()
{
- private long _property = long.MinValue;
+ Configuration.Cache.CacheKey key1 = new Configuration.Cache.CacheKey();
+ Configuration.Cache.CacheKey key2 = new Configuration.Cache.CacheKey();
+
+ key1.Update("HS1CS001");
+ key1.Update("HS1D4001");
+
+ key2.Update("HS1D4001");
+ key2.Update("HS1CS001");
- public TestClass(long aProperty)
- {
- _property = aProperty;
- }
-
- public long AProperty
- {
- get { return _property; }
- set { _property = value; }
- }
+ Assert.AreEqual(key1.GetHashCode(), key2.GetHashCode(), "Expect same hashcode.");
+ Assert.IsFalse(key1.Equals(key2), "Expect not equal");
}
}
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs?rev=351830&r1=351829&r2=351830&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs Fri Dec 2 12:26:26 2005
@@ -112,6 +112,19 @@
Assert.IsTrue(firstId != thirdId);
}
+ [Test]
+ public void TestFlushDataCacheOnExecute()
+ {
+ IList list = sqlMap.QueryForList("GetCachedAccountsViaResultMap", null);
+ int firstId = HashCodeProvider.GetIdentityHashCode(list);
+ list = sqlMap.QueryForList("GetCachedAccountsViaResultMap", null);
+ int secondId = HashCodeProvider.GetIdentityHashCode(list);
+ Assert.AreEqual(firstId, secondId);
+ sqlMap.Update("UpdateAccountViaInlineParameters", list[0]);
+ list = sqlMap.QueryForList("GetCachedAccountsViaResultMap", null);
+ int thirdId = HashCodeProvider.GetIdentityHashCode(list);
+ Assert.IsTrue(firstId != thirdId);
+ }
/// <summary>
/// Test MappedStatement Query With Threaded Cache
@@ -141,7 +154,6 @@
int thirdId = HashCodeProvider.GetIdentityHashCode(list);
Assert.IsTrue(firstId != thirdId);
-
}
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs?rev=351830&r1=351829&r2=351830&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs Fri Dec 2 12:26:26 2005
@@ -26,6 +26,7 @@
#region Using
using System.Collections;
+using System.Data;
using IBatisNet.Common;
using IBatisNet.DataMapper.Commands;
using IBatisNet.DataMapper.Configuration.Cache;
@@ -330,7 +331,7 @@
{
if (request.IDbCommand.Parameters[i] != null)
{
- cacheKey.Update(request.IDbCommand.Parameters[i]);
+ cacheKey.Update( ((IDataParameter)request.IDbCommand.Parameters[i]).Value );
}
}