From: <fab...@us...> - 2010-07-23 05:27:40
|
Revision: 5053 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5053&view=rev Author: fabiomaulo Date: 2010-07-23 05:27:34 +0000 (Fri, 23 Jul 2010) Log Message: ----------- Test for NH-2251 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs 2010-07-23 05:27:34 UTC (rev 5053) @@ -0,0 +1,10 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2251 +{ + public class Foo + { + public virtual Guid Id { get; set; } + public virtual string Name { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs 2010-07-23 05:27:34 UTC (rev 5053) @@ -0,0 +1,51 @@ +using System.Linq; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2251 +{ + public class Fixture : BugTestCase + { + [Test, Ignore("Changing the original query parameters after FutureValue cause the mix of parameters in SQL.")] + public void WhenUseFutureSkipTakeThenNotThrow() + { + using (var session = OpenSession()) + { + var query = session.QueryOver<Foo>().Where(o => o.Name == "Graeme"); + + var rowcountQuery = query.ToRowCountQuery().FutureValue<int>(); + var resultsQuery = query.Skip(0).Take(50).Future(); + + int rowcount; + Foo[] items; + Executing.This(() => + { + rowcount = rowcountQuery.Value; + items = resultsQuery.ToArray(); + } + ).Should().NotThrow(); + } + } + + [Test] + public void EnlistingFirstThePaginationAndThenTheRowCountDoesNotThrows() + { + using (var session = OpenSession()) + { + var query = session.QueryOver<Foo>().Where(o => o.Name == "Graeme"); + + var resultsQuery = query.Skip(0).Take(50).Future(); + var rowcountQuery = query.ToRowCountQuery().FutureValue<int>(); + + int rowcount; + Foo[] items; + Executing.This(() => + { + rowcount = rowcountQuery.Value; + items = resultsQuery.ToArray(); + } + ).Should().NotThrow(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml 2010-07-23 05:27:34 UTC (rev 5053) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2251"> + + <class name="Foo"> + <id name="Id"> + <generator class="guid" /> + </id> + <property name="Name"/> + </class> +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-23 04:38:56 UTC (rev 5052) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-23 05:27:34 UTC (rev 5053) @@ -767,6 +767,8 @@ <Compile Include="NHSpecificTest\NH2242\UnescapedFormulaDomainClass.cs" /> <Compile Include="NHSpecificTest\NH2243\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2243\Person.cs" /> + <Compile Include="NHSpecificTest\NH2251\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2251\Fixture.cs" /> <Compile Include="NHSpecificTest\NH473\Child.cs" /> <Compile Include="NHSpecificTest\NH473\Fixture.cs" /> <Compile Include="NHSpecificTest\NH473\Parent.cs" /> @@ -2206,6 +2208,7 @@ <EmbeddedResource Include="DriverTest\SqlServerCeEntity.hbm.xml" /> <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2251\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2041\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2031\Mappings.hbm.xml" /> <EmbeddedResource Include="TypesTest\DateClass.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-07-27 20:19:47
|
Revision: 5064 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5064&view=rev Author: fabiomaulo Date: 2010-07-27 20:19:40 +0000 (Tue, 27 Jul 2010) Log Message: ----------- "Decoded" failing test for NH-2208 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/E1.generated.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Filter.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Referred.generated.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/SubOfReferred.generated.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/E1.generated.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/E1.generated.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/E1.generated.cs 2010-07-27 20:19:40 UTC (rev 5064) @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// <autogenerated> +// This code was generated by NHibernate. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </autogenerated> +//------------------------------------------------------------------------------ + +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2208 +{ + /// <summary> + /// a class mapping for the table: E1 + /// </summary> + public partial class E1 + { + + #region private fields + Int32 _id; + String _p1; + SubOfReferred _bO; + #endregion + + #region getter/setters + /// <summary> + /// + /// </summary> + public virtual Int32 Id + { + get{ return _id; } + set{ _id = value; } + } + /// <summary> + /// + /// </summary> + public virtual String P1 + { + get{ return _p1; } + set{ _p1 = value; } + } + /// <summary> + /// + /// </summary> + public virtual SubOfReferred BO + { + get{ return _bO; } + set{ _bO = value; } + } + #endregion + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Filter.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Filter.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Filter.cs 2010-07-27 20:19:40 UTC (rev 5064) @@ -0,0 +1,17 @@ +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2208 +{ + public class Filter : BugTestCase + { + [Test, Ignore("Not fixed yet")] + public void Test() + { + using (ISession session = OpenSession()) + { + session.EnableFilter("myfilter"); + session.CreateQuery("from E1 e join fetch e.BO").List(); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Mappings.hbm.xml 2010-07-27 20:19:40 UTC (rev 5064) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2208"> + + <class name="E1" table="E1" > + <id name="Id" type="Int32"> + <generator class="native"/> + </id> + <property name="P1" type="String"/> + <many-to-one class="SubOfReferred" name="BO"/> + <filter name="myfilter"/> + </class> + + <class name="Referred" table="Referred" > + <id name="Id" type="Int32"> + <generator class="native"/> + </id> + <property name="P1" type="String"></property> + <joined-subclass name="SubOfReferred" table="SubT1"> + <key column="k1"/> + <property name="XX" type="String"/> + </joined-subclass> + <filter name="myfilter"/> + </class> + <filter-def name="myfilter" condition="P1 like '%doesnotmatter%'"/> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Referred.generated.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Referred.generated.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/Referred.generated.cs 2010-07-27 20:19:40 UTC (rev 5064) @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// <autogenerated> +// This code was generated by NHibernate. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </autogenerated> +//------------------------------------------------------------------------------ + +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2208 +{ + /// <summary> + /// a class mapping for the table: Referred + /// </summary> + public partial class Referred + { + + #region private fields + Int32 _id; + String _p1; + #endregion + + #region getter/setters + /// <summary> + /// + /// </summary> + public virtual Int32 Id + { + get{ return _id; } + set{ _id = value; } + } + /// <summary> + /// + /// </summary> + public virtual String P1 + { + get{ return _p1; } + set{ _p1 = value; } + } + #endregion + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/SubOfReferred.generated.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/SubOfReferred.generated.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2208/SubOfReferred.generated.cs 2010-07-27 20:19:40 UTC (rev 5064) @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// <autogenerated> +// This code was generated by NHibernate. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </autogenerated> +//------------------------------------------------------------------------------ + +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2208 +{ + /// <summary> + /// a class mapping for the table: SubT1 + /// </summary> + public partial class SubOfReferred : Referred + { + + #region private fields + String _xX; + #endregion + + #region getter/setters + /// <summary> + /// + /// </summary> + public virtual String XX + { + get{ return _xX; } + set{ _xX = value; } + } + #endregion + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-27 18:36:09 UTC (rev 5063) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-27 20:19:40 UTC (rev 5064) @@ -758,6 +758,10 @@ <Compile Include="NHSpecificTest\NH2201\Model.cs" /> <Compile Include="NHSpecificTest\NH2207\DomainClass.cs" /> <Compile Include="NHSpecificTest\NH2207\SampleTest.cs" /> + <Compile Include="NHSpecificTest\NH2208\E1.generated.cs" /> + <Compile Include="NHSpecificTest\NH2208\Filter.cs" /> + <Compile Include="NHSpecificTest\NH2208\Referred.generated.cs" /> + <Compile Include="NHSpecificTest\NH2208\SubOfReferred.generated.cs" /> <Compile Include="NHSpecificTest\NH2230\Domain.cs" /> <Compile Include="NHSpecificTest\NH2230\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2234\Fixture.cs" /> @@ -2210,6 +2214,7 @@ <EmbeddedResource Include="DriverTest\SqlServerCeEntity.hbm.xml" /> <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2208\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2251\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2041\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2031\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-07-29 13:11:06
|
Revision: 5081 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5081&view=rev Author: fabiomaulo Date: 2010-07-29 13:10:59 +0000 (Thu, 29 Jul 2010) Log Message: ----------- Minor (example of custom LINQ extensions) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Linq/CustomExtensionsExample.cs Added: trunk/nhibernate/src/NHibernate.Test/Linq/CustomExtensionsExample.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/CustomExtensionsExample.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/CustomExtensionsExample.cs 2010-07-29 13:10:59 UTC (rev 5081) @@ -0,0 +1,67 @@ +using System.Collections.ObjectModel; +using System.Linq; +using System.Linq.Expressions; +using System.Reflection; +using System.Text.RegularExpressions; +using NHibernate.Cfg.Loquacious; +using NHibernate.Hql.Ast; +using NHibernate.Linq; +using NHibernate.Linq.Functions; +using NHibernate.Linq.Visitors; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.Linq +{ + public static class MyLinqExtensions + { + public static bool IsLike(this string source, string pattern) + { + pattern = Regex.Escape(pattern); + pattern = pattern.Replace("%", ".*?").Replace("_", "."); + pattern = pattern.Replace(@"\[", "[").Replace(@"\]","]").Replace(@"\^", "^"); + + return Regex.IsMatch(source, pattern); + } + } + + public class MyLinqToHqlGeneratorsRegistry: DefaultLinqToHqlGeneratorsRegistry + { + public MyLinqToHqlGeneratorsRegistry():base() + { + RegisterGenerator(ReflectionHelper.GetMethod(() => MyLinqExtensions.IsLike(null, null)), + new IsLikeGenerator()); + } + } + + public class IsLikeGenerator : BaseHqlGeneratorForMethod + { + public IsLikeGenerator() + { + SupportedMethods = new[] {ReflectionHelper.GetMethod(() => MyLinqExtensions.IsLike(null, null))}; + } + + public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, + ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) + { + return treeBuilder.Like(visitor.Visit(arguments[0]).AsExpression(), + visitor.Visit(arguments[1]).AsExpression()); + } + } + + public class CustomExtensionsExample : LinqTestCase + { + protected override void Configure(NHibernate.Cfg.Configuration configuration) + { + configuration.LinqToHqlGeneratorsRegistry<MyLinqToHqlGeneratorsRegistry>(); + } + + [Test] + public void CanUseMyCustomExtension() + { + var contacts = (from c in db.Customers where c.ContactName.IsLike("%Thomas%") select c).ToList(); + contacts.Count.Should().Be.GreaterThan(0); + contacts.Select(customer => customer.ContactName).All(c => c.Satisfy(customer => customer.Contains("Thomas"))); + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-28 22:34:55 UTC (rev 5080) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-29 13:10:59 UTC (rev 5081) @@ -395,6 +395,7 @@ <Compile Include="Linq\BinaryExpressionOrdererTests.cs" /> <Compile Include="Linq\CasingTest.cs" /> <Compile Include="Linq\CollectionAssert.cs" /> + <Compile Include="Linq\CustomExtensionsExample.cs" /> <Compile Include="Linq\DateTimeTests.cs" /> <Compile Include="Linq\DynamicQueryTests.cs" /> <Compile Include="Linq\EagerLoadTests.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-08-04 17:21:50
|
Revision: 5107 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5107&view=rev Author: fabiomaulo Date: 2010-08-04 17:21:44 +0000 (Wed, 04 Aug 2010) Log Message: ----------- Check NH-2089 not an issue Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2010-08-04 11:57:46 UTC (rev 5106) +++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2010-08-04 17:21:44 UTC (rev 5107) @@ -39,8 +39,13 @@ public string GetSql(string query) { - var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, sessions).Parse(), emptyfilters, sessions); - qt.Compile(null, false); + return GetSql(query, null); + } + + public string GetSql(string query, IDictionary<string, string> replacements) + { + var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, sessions).Parse(), emptyfilters, sessions); + qt.Compile(replacements, false); return qt.SQLString; } Added: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs 2010-08-04 17:21:44 UTC (rev 5107) @@ -0,0 +1,38 @@ +using System.Collections.Generic; +using NUnit.Framework; +using NHibernate.Cfg.Loquacious; +using SharpTestsEx; + +namespace NHibernate.Test.HQL.Ast +{ + public class QuerySubstitutionTest: BaseFixture + { + protected override void Configure(NHibernate.Cfg.Configuration configuration) + { + base.Configure(configuration); + configuration.SessionFactory().Integrate.CreateCommands.WithHqlToSqlSubstitutions("pizza 1"); + } + const string query = "from SimpleClass s where s.IntValue > pizza"; + + [Test] + public void WhenSubstitutionsConfiguredThenUseItInTranslation() + { + var sql = GetSql(query, new Dictionary<string, string>{{"pizza","1"}}); + sql.Should().Not.Contain("pizza"); + } + + [Test] + public void WhenExecutedThroughSessionThenUseSubstitutions() + { + using (var s = OpenSession()) + { + using (SqlLogSpy sqlLogSpy = new SqlLogSpy()) + { + s.CreateQuery(query).List(); + string sql = sqlLogSpy.Appender.GetEvents()[0].RenderedMessage; + sql.Should().Not.Contain("pizza"); + } + } + } + } +} \ 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-04 11:57:46 UTC (rev 5106) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-04 17:21:44 UTC (rev 5107) @@ -373,6 +373,7 @@ <Compile Include="HQL\Ast\Mammal.cs" /> <Compile Include="HQL\Ast\Name.cs" /> <Compile Include="HQL\Ast\ParsingFixture.cs" /> + <Compile Include="HQL\Ast\QuerySubstitutionTest.cs" /> <Compile Include="HQL\Ast\Reptile.cs" /> <Compile Include="HQL\Ast\SimpleAssociatedEntity.cs" /> <Compile Include="HQL\Ast\SimpleClass.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-08-07 12:58:33
|
Revision: 5123 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5123&view=rev Author: fabiomaulo Date: 2010-08-07 12:58:27 +0000 (Sat, 07 Aug 2010) Log Message: ----------- Passing test for CharType (related to NH-2276) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 12:34:19 UTC (rev 5122) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 12:58:27 UTC (rev 5123) @@ -454,6 +454,8 @@ <Compile Include="NHSpecificTest\NH2148\Domain.cs" /> <Compile Include="NHSpecificTest\NH2245\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2245\Model.cs" /> + <Compile Include="TypesTest\CharClass.cs" /> + <Compile Include="TypesTest\CharClassFixture.cs" /> <Compile Include="TypesTest\DateTimeClass.cs" /> <Compile Include="TypesTest\LocalDateTimeTypeFixture.cs" /> <Compile Include="TypesTest\UtcDateTimeTypeFixture.cs" /> @@ -2238,6 +2240,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="TypesTest\CharClass.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1836\Mappings.hbm.xml" /> <EmbeddedResource Include="TypesTest\DateTimeClass.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1421\Mappings.hbm.xml" /> Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs 2010-08-07 12:58:27 UTC (rev 5123) @@ -0,0 +1,9 @@ +namespace NHibernate.Test.TypesTest +{ + public class CharClass + { + public int Id { get; set; } + public virtual char NormalChar { get; set; } + public virtual char? NullableChar { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml 2010-08-07 12:58:27 UTC (rev 5123) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.TypesTest" + default-lazy="false"> + + <class name="CharClass"> + <id name="Id" column="id"> + <generator class="assigned" /> + </id> + + <property name="NormalChar"/> + <property name="NullableChar"/> + </class> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs 2010-08-07 12:58:27 UTC (rev 5123) @@ -0,0 +1,36 @@ +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.TypesTest +{ + public class CharClassFixture : TypeFixtureBase + { + protected override string TypeName + { + get { return "Char"; } + } + + [Test] + public void ReadWrite() + { + var basic = new CharClass{Id=1,NormalChar = 'A'}; + + using (var s = OpenSession()) + { + s.Save(basic); + s.Flush(); + } + + using (var s = OpenSession()) + { + CharClass saved= null; + Executing.This(()=> saved = s.Get<CharClass>(1)).Should().NotThrow(); + saved.NormalChar.Should().Be('A'); + saved.NullableChar.Should().Not.Have.Value(); + + s.Delete(saved); + s.Flush(); + } + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-08-11 14:44:07
|
Revision: 5139 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5139&view=rev Author: julian-maughan Date: 2010-08-11 14:44:01 +0000 (Wed, 11 Aug 2010) Log Message: ----------- NHSpecific test for NH-2224 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Domain.cs 2010-08-11 14:44:01 UTC (rev 5139) @@ -0,0 +1,32 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2224 +{ + public class Class1 + { + private long _number; + private DateTime _dateOfChange; + + public virtual long Number + { + get + { + return _number; + } + } + + + public virtual DateTime DateOfChange + { + get + { + return _dateOfChange; + } + set + { + if (_dateOfChange != value) + _dateOfChange = value; + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Fixture.cs 2010-08-11 14:44:01 UTC (rev 5139) @@ -0,0 +1,59 @@ +using System; +using NHibernate.Cfg; +using NHibernate.Criterion; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2224 +{ + [TestFixture] + public class Fixture: BugTestCase + { + protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect) + { + return dialect is NHibernate.Dialect.SQLiteDialect; + } + + protected override void OnSetUp() + { + base.OnSetUp(); + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + var class1 = new Class1() { DateOfChange = DateTime.Now }; + s.Save(class1); + t.Commit(); + } + } + + protected override void OnTearDown() + { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.Delete("from Class1"); + t.Commit(); + } + base.OnTearDown(); + } + + [Test] + public void Test() + { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + var criteria = s.CreateCriteria<Class1>(); + criteria.Add(Restrictions.In( + Projections.SqlFunction( + "year", + NHibernateUtil.DateTime, + Projections.Property("DateOfChange")), + new string[] { "2010", "2011" })); + + var result = criteria.List(); + + Assert.That(result.Count, Is.EqualTo(1)); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2224/Mappings.hbm.xml 2010-08-11 14:44:01 UTC (rev 5139) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping + xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH2224" + assembly="NHibernate.Test" + default-access="field.camelcase-underscore"> + + <class name="Class1"> + <id name="Number"> + <generator class="native" /> + </id> + <property name="DateOfChange" not-null="true" /> + </class> +</hibernate-mapping> \ 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-11 14:37:05 UTC (rev 5138) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-11 14:44:01 UTC (rev 5139) @@ -1,4 +1,5 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -454,6 +455,8 @@ <Compile Include="NHSpecificTest\NH1836\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> <Compile Include="NHSpecificTest\NH2148\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2224\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2224\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2245\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2245\Model.cs" /> <Compile Include="NHSpecificTest\NH2266\Domain.cs" /> @@ -1733,6 +1736,7 @@ <None Include="DbScripts\MsSql2008DialectLinqReadonlyDropScript.sql"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </None> + <EmbeddedResource Include="NHSpecificTest\NH2224\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\NHibernate.ByteCode.Castle\NHibernate.ByteCode.Castle.csproj"> @@ -2574,6 +2578,7 @@ <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. |
From: <jul...@us...> - 2010-08-16 15:16:30
|
Revision: 5162 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5162&view=rev Author: julian-maughan Date: 2010-08-16 15:16:22 +0000 (Mon, 16 Aug 2010) Log Message: ----------- Replaced obsolete NUnit assertions in Tests, e.g. Text.Containing replaced by Is.StringContaining Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Ado/BatcherFixture.cs trunk/nhibernate/src/NHibernate.Test/Bytecode/Lightweight/BytecodeProviderFixture.cs trunk/nhibernate/src/NHibernate.Test/CacheTest/QueryKeyFixture.cs trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs trunk/nhibernate/src/NHibernate.Test/Events/PostEvents/PostUpdateFixture.cs trunk/nhibernate/src/NHibernate.Test/FilterTest/ConfigFixture.cs trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs trunk/nhibernate/src/NHibernate.Test/HQL/Ast/SqlTranslationFixture.cs trunk/nhibernate/src/NHibernate.Test/IdTest/TableGeneratorFixture.cs trunk/nhibernate/src/NHibernate.Test/MappingTest/NonReflectiveBinderFixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1039/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1054/NH1054Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1069/ImproveLazyExceptionFixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1093/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1171/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1444/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1487/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1521/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1593/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1632/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1635/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1710/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1760/SampleTest.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1813/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2003/Fixture.cs trunk/nhibernate/src/NHibernate.Test/QueryTest/MultiCriteriaFixture.cs trunk/nhibernate/src/NHibernate.Test/QueryTest/MultipleQueriesFixture.cs trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests/WithColumnTagFixture.cs trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs trunk/nhibernate/src/NHibernate.Test/UtilityTest/BasicFormatterFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/Ado/BatcherFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Ado/BatcherFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Ado/BatcherFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -177,9 +177,9 @@ sessions.Statistics.Clear(); FillDb(); string logs = sl.GetWholeLog(); - Assert.That(logs, Text.DoesNotContain("Adding to batch").IgnoreCase); - Assert.That(logs, Text.Contains("Batch command").IgnoreCase); - Assert.That(logs, Text.Contains("INSERT").IgnoreCase); + Assert.That(logs, Is.Not.StringContaining("Adding to batch").IgnoreCase); + Assert.That(logs, Is.StringContaining("Batch command").IgnoreCase); + Assert.That(logs, Is.StringContaining("INSERT").IgnoreCase); } } @@ -201,13 +201,13 @@ sessions.Statistics.Clear(); FillDb(); string logs = sl.GetWholeLog(); - Assert.That(logs, Text.Contains("batch").IgnoreCase); + Assert.That(logs, Is.StringContaining("batch").IgnoreCase); foreach (var loggingEvent in sl.Appender.GetEvents()) { string message = loggingEvent.RenderedMessage; if(message.ToLowerInvariant().Contains("insert")) { - Assert.That(message, Text.Contains("batch").IgnoreCase); + Assert.That(message, Is.StringContaining("batch").IgnoreCase); } } } @@ -227,7 +227,7 @@ sessions.Statistics.Clear(); FillDb(); string logs = sl.GetWholeLog(); - Assert.That(logs, Text.Contains("Batch commands:").IgnoreCase); + Assert.That(logs, Is.StringContaining("Batch commands:").IgnoreCase); } } @@ -257,8 +257,8 @@ { if(sqlLine.Contains("p0")) { - Assert.That(sqlLine, Text.Contains("p1")); - Assert.That(sqlLine, Text.Contains("p2")); + Assert.That(sqlLine, Is.StringContaining("p1")); + Assert.That(sqlLine, Is.StringContaining("p2")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/Bytecode/Lightweight/BytecodeProviderFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Bytecode/Lightweight/BytecodeProviderFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Bytecode/Lightweight/BytecodeProviderFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -20,8 +20,8 @@ } catch (HibernateByteCodeException e) { - Assert.That(e.Message, Text.StartsWith("The ProxyFactoryFactory was not configured")); - Assert.That(e.Message, Text.Contains("Example")); + Assert.That(e.Message, Is.StringStarting("The ProxyFactoryFactory was not configured")); + Assert.That(e.Message, Is.StringContaining("Example")); } } @@ -36,9 +36,9 @@ } catch (HibernateByteCodeException e) { - Assert.That(e.Message, Text.StartsWith("Unable to load type")); - Assert.That(e.Message, Text.Contains("Possible causes")); - Assert.That(e.Message, Text.Contains("Confirm that your deployment folder contains")); + Assert.That(e.Message, Is.StringStarting("Unable to load type")); + Assert.That(e.Message, Is.StringContaining("Possible causes")); + Assert.That(e.Message, Is.StringContaining("Confirm that your deployment folder contains")); } } @@ -70,7 +70,7 @@ } catch (HibernateByteCodeException e) { - Assert.That(e.Message,Text.StartsWith("Failed to create an instance of")); + Assert.That(e.Message,Is.StringStarting("Failed to create an instance of")); } } Modified: trunk/nhibernate/src/NHibernate.Test/CacheTest/QueryKeyFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/CacheTest/QueryKeyFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/CacheTest/QueryKeyFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -115,7 +115,7 @@ var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes, EntityMode.Poco); ISet<FilterKey> fks = new HashedSet<FilterKey> { fk }; var qk = new QueryKey(sessions, SqlAll, new QueryParameters(), (ISet)fks); - Assert.That(qk.ToString(), Text.Contains(string.Format("filters: ['{0}']",fk))); + Assert.That(qk.ToString(), Is.StringContaining(string.Format("filters: ['{0}']",fk))); filterName = "DescriptionEqualAndValueGT"; f = new FilterImpl(sessions.GetFilterDefinition(filterName)); @@ -123,7 +123,7 @@ fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes, EntityMode.Poco); fks = new HashedSet<FilterKey> { fk }; qk = new QueryKey(sessions, SqlAll, new QueryParameters(), (ISet)fks); - Assert.That(qk.ToString(), Text.Contains(string.Format("filters: ['{0}']", fk))); + Assert.That(qk.ToString(), Is.StringContaining(string.Format("filters: ['{0}']", fk))); } [Test] @@ -141,7 +141,7 @@ ISet<FilterKey> fks = new HashedSet<FilterKey> { fk, fvk }; var qk = new QueryKey(sessions, SqlAll, new QueryParameters(), (ISet)fks); - Assert.That(qk.ToString(), Text.Contains(string.Format("filters: ['{0}', '{1}']", fk, fvk))); + Assert.That(qk.ToString(), Is.StringContaining(string.Format("filters: ['{0}', '{1}']", fk, fvk))); } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -61,7 +61,7 @@ { Person person = new Person() { Name = null }; ICriterion criterion = ExpressionProcessor.ProcessExpression<Person>(p => p.Name == person.Name); - Assert.That(criterion, Is.InstanceOfType<NullExpression>()); + Assert.That(criterion, Is.InstanceOf<NullExpression>()); } [Test] Modified: trunk/nhibernate/src/NHibernate.Test/Events/PostEvents/PostUpdateFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Events/PostEvents/PostUpdateFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Events/PostEvents/PostUpdateFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -40,7 +40,7 @@ tx.Commit(); } } - Assert.That(ls.GetWholeLog(), Text.Contains(AssertOldStatePostListener.LogMessage)); + Assert.That(ls.GetWholeLog(), Is.StringContaining(AssertOldStatePostListener.LogMessage)); } DbCleanup(); @@ -69,7 +69,7 @@ tx.Commit(); } } - Assert.That(ls.GetWholeLog(), Text.Contains(AssertOldStatePostListener.LogMessage)); + Assert.That(ls.GetWholeLog(), Is.StringContaining(AssertOldStatePostListener.LogMessage)); } DbCleanup(); @@ -107,7 +107,7 @@ tx.Commit(); } } - Assert.That(ls.GetWholeLog(), Text.Contains(AssertOldStatePostListener.LogMessage)); + Assert.That(ls.GetWholeLog(), Is.StringContaining(AssertOldStatePostListener.LogMessage)); } DbCleanup(); @@ -147,7 +147,7 @@ tx.Commit(); } } - Assert.That(ls.GetWholeLog(), Text.Contains(AssertOldStatePostListener.LogMessage)); + Assert.That(ls.GetWholeLog(), Is.StringContaining(AssertOldStatePostListener.LogMessage)); } DbCleanup(); @@ -186,7 +186,7 @@ tx.Commit(); } } - Assert.That(ls.GetWholeLog(), Text.Contains(AssertOldStatePostListener.LogMessage)); + Assert.That(ls.GetWholeLog(), Is.StringContaining(AssertOldStatePostListener.LogMessage)); } DbCleanup(); Modified: trunk/nhibernate/src/NHibernate.Test/FilterTest/ConfigFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/FilterTest/ConfigFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/FilterTest/ConfigFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -57,7 +57,7 @@ var cfg = GetConfiguration(); var e = Assert.Throws<MappingException>(() => cfg.AddResource("NHibernate.Test.FilterTest.WrongFilterDefInClass.hbm.xml", GetType().Assembly)); Assert.That(e.InnerException, Is.Not.Null); - Assert.That(e.InnerException.Message, Text.StartsWith("no filter condition").IgnoreCase); + Assert.That(e.InnerException.Message, Is.StringStarting("no filter condition").IgnoreCase); } [Test] @@ -93,7 +93,7 @@ cfg.AddXmlString(wrongClassMap); cfg.AddXmlString(wrongFilterDef); var e = Assert.Throws<MappingException>(cfg.BuildMappings); - Assert.That(e.Message, Text.StartsWith("no filter condition").IgnoreCase); + Assert.That(e.Message, Is.StringStarting("no filter condition").IgnoreCase); } [Test] @@ -103,8 +103,8 @@ var cfg = GetConfiguration(); cfg.AddResource("NHibernate.Test.FilterTest.SimpleFiltered.hbm.xml", GetType().Assembly); var e = Assert.Throws<MappingException>(cfg.BuildMappings); - Assert.That(e.Message, Text.StartsWith("filter-def for filter named")); - Assert.That(e.Message, Text.Contains("was not found")); + Assert.That(e.Message, Is.StringStarting("filter-def for filter named")); + Assert.That(e.Message, Is.StringContaining("was not found")); } [Test] @@ -197,7 +197,7 @@ var cfg = GetConfiguration(); var e = Assert.Throws<MappingException>(() => cfg.AddXmlString(filterDef)); Assert.That(e.InnerException, Is.Not.Null); - Assert.That(e.InnerException.Message, Text.Contains("Duplicated filter-def")); + Assert.That(e.InnerException.Message, Is.StringContaining("Duplicated filter-def")); } [Test] @@ -223,8 +223,8 @@ var cfg = GetConfiguration(); cfg.AddXmlString(classMap); var e = Assert.Throws<MappingException>(()=>cfg.BuildSessionFactory()); - Assert.That(e.Message, Text.StartsWith("filter-def for filter named")); - Assert.That(e.Message, Text.Contains("was not found")); + Assert.That(e.Message, Is.StringStarting("filter-def for filter named")); + Assert.That(e.Message, Is.StringContaining("was not found")); } [Test] @@ -248,8 +248,8 @@ cfg.BuildSessionFactory(); var wholeLog = String.Join("\r\n", memoryAppender.GetEvents().Select(x => x.RenderedMessage).ToArray()); - Assert.That(wholeLog, Text.Contains("filter-def for filter named")); - Assert.That(wholeLog, Text.Contains("was never used to filter classes nor collections.")); + Assert.That(wholeLog, Is.StringContaining("filter-def for filter named")); + Assert.That(wholeLog, Is.StringContaining("was never used to filter classes nor collections.")); } finally { Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -517,7 +517,7 @@ var e = Assert.Throws<QueryException>( () => s.CreateQuery("update Human set mother.name.initial = :initial").SetString("initial", "F").ExecuteUpdate()); - Assert.That(e.Message, Text.StartsWith("Implied join paths are not assignable in update")); + Assert.That(e.Message, Is.StringStarting("Implied join paths are not assignable in update")); s.CreateQuery("delete Human where mother is not null").ExecuteUpdate(); s.CreateQuery("delete Human").ExecuteUpdate(); @@ -698,7 +698,7 @@ using (ISession s = OpenSession()) { var e = Assert.Throws<QueryException>(() => s.CreateQuery("update Vehicle set owner = null where owner = 'Steve'").ExecuteUpdate()); - Assert.That(e.Message, Text.StartsWith("Left side of assigment should be a case sensitive property or a field")); + Assert.That(e.Message, Is.StringStarting("Left side of assigment should be a case sensitive property or a field")); } } Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/SqlTranslationFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/SqlTranslationFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/SqlTranslationFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -10,7 +10,7 @@ { const string query = "select 123.5, s from SimpleClass s"; - Assert.That(GetSql(query), Text.StartsWith("select 123.5")); + Assert.That(GetSql(query), Is.StringStarting("select 123.5")); } [Test] Modified: trunk/nhibernate/src/NHibernate.Test/IdTest/TableGeneratorFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/IdTest/TableGeneratorFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/IdTest/TableGeneratorFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -22,8 +22,8 @@ var dialect = new MsSql2005Dialect(); var tg = new TableGenerator(); tg.Configure(NHibernateUtil.Int64, new Dictionary<string, string> {{"where", customWhere}}, dialect); - Assert.That(selectSql.GetValue(tg).ToString(), Text.Contains(customWhere)); - Assert.That(updateSql.GetValue(tg).ToString(), Text.Contains(customWhere)); + Assert.That(selectSql.GetValue(tg).ToString(), Is.StringContaining(customWhere)); + Assert.That(updateSql.GetValue(tg).ToString(), Is.StringContaining(customWhere)); } } } Modified: trunk/nhibernate/src/NHibernate.Test/MappingTest/NonReflectiveBinderFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/MappingTest/NonReflectiveBinderFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/MappingTest/NonReflectiveBinderFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -164,7 +164,7 @@ Property property = cm.GetProperty("SortedEmployee"); var col = (Mapping.Collection)property.Value; - Assert.That(col.ComparerClassName, Text.StartsWith("NHibernate.Test.MappingTest.NonExistingComparator")); + Assert.That(col.ComparerClassName, Is.StringStarting("NHibernate.Test.MappingTest.NonExistingComparator")); } [Test] Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1039/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1039/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1039/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -50,7 +50,7 @@ Assert.AreEqual("1", person.ID); Assert.AreEqual("John Doe", person.Name); Assert.AreEqual(1, person.Properties.Count); - Assert.IsInstanceOfType(typeof(ISet), person.Properties["Phones"]); + Assert.That(person.Properties["Phones"], Is.InstanceOf<ISet>()); Assert.IsTrue((person.Properties["Phones"] as ISet).Contains("555-1234")); Assert.IsTrue((person.Properties["Phones"] as ISet).Contains("555-4321")); } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1054/NH1054Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1054/NH1054Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1054/NH1054Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -17,8 +17,7 @@ ISessionFactoryImplementor sessionFactory = (ISessionFactoryImplementor)configuration.BuildSessionFactory(); - Assert.IsInstanceOfType(typeof(DummyTransactionFactory), - sessionFactory.Settings.TransactionFactory); + Assert.That(sessionFactory.Settings.TransactionFactory, Is.InstanceOf<DummyTransactionFactory>()); } [Test] @@ -27,8 +26,7 @@ Configuration configuration = new Configuration(); ISessionFactoryImplementor sessionFactory = (ISessionFactoryImplementor)configuration.BuildSessionFactory(); - Assert.IsInstanceOfType(typeof(NHibernate.Transaction.AdoNetWithDistributedTransactionFactory), - sessionFactory.Settings.TransactionFactory); + Assert.That(sessionFactory.Settings.TransactionFactory, Is.InstanceOf<NHibernate.Transaction.AdoNetWithDistributedTransactionFactory>()); } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1069/ImproveLazyExceptionFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1069/ImproveLazyExceptionFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1069/ImproveLazyExceptionFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -26,8 +26,8 @@ var ex = Assert.Throws<LazyInitializationException>(() => n= le.Name); Assert.That(ex.EntityName, Is.EqualTo(typeof (LazyE).FullName)); Assert.That(ex.EntityId, Is.EqualTo(1)); - Assert.That(ex.Message, Text.Contains(typeof(LazyE).FullName)); - Assert.That(ex.Message, Text.Contains("#1")); + Assert.That(ex.Message, Is.StringContaining(typeof(LazyE).FullName)); + Assert.That(ex.Message, Is.StringContaining("#1")); Console.WriteLine(ex.Message); using (ISession s = OpenSession()) @@ -57,9 +57,9 @@ var ex = Assert.Throws<LazyInitializationException>(() => le.LazyC.GetEnumerator()); Assert.That(ex.EntityName, Is.EqualTo(typeof(LazyE).FullName)); Assert.That(ex.EntityId, Is.EqualTo(1)); - Assert.That(ex.Message, Text.Contains(typeof(LazyE).FullName)); - Assert.That(ex.Message, Text.Contains("#1")); - Assert.That(ex.Message, Text.Contains(typeof(LazyE).FullName + ".LazyC")); + Assert.That(ex.Message, Is.StringContaining(typeof(LazyE).FullName)); + Assert.That(ex.Message, Is.StringContaining("#1")); + Assert.That(ex.Message, Is.StringContaining(typeof(LazyE).FullName + ".LazyC")); using (ISession s = OpenSession()) using (ITransaction t = s.BeginTransaction()) Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1093/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1093/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1093/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -86,7 +86,7 @@ using (var ls = new LogSpy(LogManager.GetLogger("NHibernate"), Level.Warn)) { base.BuildSessionFactory(); - Assert.That(ls.GetWholeLog(), Text.Contains("Fake cache used")); + Assert.That(ls.GetWholeLog(), Is.StringContaining("Fake cache used")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1171/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1171/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1171/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -52,8 +52,8 @@ q.List(); } string message = ls.GetWholeLog(); - Assert.That(message, Text.Contains("-- Comment with ' number 1")); - Assert.That(message, Text.Contains("/* Comment with ' number 2 */")); + Assert.That(message, Is.StringContaining("-- Comment with ' number 1")); + Assert.That(message, Is.StringContaining("/* Comment with ' number 2 */")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1182/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -31,8 +31,8 @@ t.Commit(); } string wholeLog = ls.GetWholeLog(); - Assert.That(wholeLog, Text.DoesNotContain("UPDATE ObjectA")); - Assert.That(wholeLog, Text.Contains("UPDATE ObjectB"),"should create orphans"); + Assert.That(wholeLog, Is.Not.StringContaining("UPDATE ObjectA")); + Assert.That(wholeLog, Is.StringContaining("UPDATE ObjectB"),"should create orphans"); } using (ISession s = OpenSession()) Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1443/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -17,11 +17,11 @@ if (Dialect.Dialect.GetDialect(cfg.Properties).SupportsIfExistsBeforeTableName) - Assert.That(script, Text.Contains("drop table if exists nhibernate.dbo.Aclass")); + Assert.That(script, Is.StringContaining("drop table if exists nhibernate.dbo.Aclass")); else - Assert.That(script, Text.Contains("drop table nhibernate.dbo.Aclass")); + Assert.That(script, Is.StringContaining("drop table nhibernate.dbo.Aclass")); - Assert.That(script, Text.Contains("create table nhibernate.dbo.Aclass")); + Assert.That(script, Is.StringContaining("create table nhibernate.dbo.Aclass")); } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1444/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1444/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1444/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -22,7 +22,7 @@ .SetParameter("filternull", !filter.HasValue) .SetParameter("filterval", filter.HasValue ? filter.Value : 0).List<xchild>(); var message = ls.GetWholeLog(); - Assert.That(message, Text.Contains("xchild0_.ParentId=xparent1_.Id and (@p0=1 or xparent1_.A<@p1)")); + Assert.That(message, Is.StringContaining("xchild0_.ParentId=xparent1_.Id and (@p0=1 or xparent1_.A<@p1)")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1487/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1487/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1487/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -60,9 +60,9 @@ var scriptB = new StringBuilder(); new SchemaExport(cfg).Create(sl => scriptB.Append(sl), true); var script = scriptB.ToString(); - Assert.That(script, Text.Contains("unique (A, C)")); - Assert.That(script, Text.Contains("unique (B, C)")); - Assert.That(script, Text.DoesNotContain("unique (C)")); + Assert.That(script, Is.StringContaining("unique (A, C)")); + Assert.That(script, Is.StringContaining("unique (B, C)")); + Assert.That(script, Is.Not.StringContaining("unique (C)")); new SchemaExport(cfg).Drop(false, true); } @@ -94,8 +94,8 @@ var scriptB = new StringBuilder(); new SchemaExport(cfg).Create(sl => scriptB.Append(sl), true); var script = scriptB.ToString(); - Assert.That(script, Text.Contains("create index AC on Entity (A, C)")); - Assert.That(script, Text.Contains("create index BC on Entity (B, C)")); + Assert.That(script, Is.StringContaining("create index AC on Entity (A, C)")); + Assert.That(script, Is.StringContaining("create index BC on Entity (B, C)")); new SchemaExport(cfg).Drop(false, true); } @@ -133,8 +133,8 @@ var scriptB = new StringBuilder(); new SchemaExport(cfg).Create(sl => scriptB.Append(sl), true); var script = scriptB.ToString(); - Assert.That(script, Text.Contains("create index AC on Entity (A, C)")); - Assert.That(script, Text.Contains("create index BC on Entity (B, C)")); + Assert.That(script, Is.StringContaining("create index AC on Entity (A, C)")); + Assert.That(script, Is.StringContaining("create index BC on Entity (B, C)")); new SchemaExport(cfg).Drop(false, true); } @@ -166,8 +166,8 @@ var scriptB = new StringBuilder(); new SchemaExport(cfg).Create(sl => scriptB.Append(sl), true); var script = scriptB.ToString(); - Assert.That(script, Text.Contains("create index IdxId1 on Entity (Id)")); - Assert.That(script, Text.Contains("create index IdxId2 on Entity (Id)")); + Assert.That(script, Is.StringContaining("create index IdxId1 on Entity (Id)")); + Assert.That(script, Is.StringContaining("create index IdxId2 on Entity (Id)")); new SchemaExport(cfg).Drop(false, true); } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1521/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1521/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1521/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -21,7 +21,7 @@ var sb = new StringBuilder(500); su.Execute(x => sb.AppendLine(x), false, false); string script = sb.ToString(); - Assert.That(script, Text.Contains("if exists (select * from dbo.sysobjects where id = object_id(N'nhibernate.dbo.Aclass') and OBJECTPROPERTY(id, N'IsUserTable') = 1)")); + Assert.That(script, Is.StringContaining("if exists (select * from dbo.sysobjects where id = object_id(N'nhibernate.dbo.Aclass') and OBJECTPROPERTY(id, N'IsUserTable') = 1)")); } [Test] Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1593/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1593/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1593/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -17,7 +17,7 @@ var su = new SchemaUpdate(cfg); var sb = new StringBuilder(500); su.Execute(x => sb.AppendLine(x), false); - Assert.That(sb.ToString(), Text.Contains("create index test_index_name on TestIndex (Name)")); + Assert.That(sb.ToString(), Is.StringContaining("create index test_index_name on TestIndex (Name)")); } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1632/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1632/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1632/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -38,7 +38,7 @@ using (var tx = new TransactionScope()) { var generator = sessions.GetIdentifierGenerator(typeof(Person).FullName); - Assert.IsInstanceOfType(typeof(TableHiLoGenerator), generator); + Assert.That(generator, Is.InstanceOf<TableHiLoGenerator>()); using(var session = sessions.OpenSession()) { Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1635/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1635/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1635/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -45,7 +45,7 @@ { var script = new StringBuilder(); new SchemaExport(cfg).Create(sl=> script.Append(sl) , true); - Assert.That(script.ToString(), Text.DoesNotContain("LatestMessage")); + Assert.That(script.ToString(), Is.Not.StringContaining("LatestMessage")); } [Test] Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1710/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1710/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1710/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -37,7 +37,7 @@ { var script = new StringBuilder(); new SchemaExport(cfg).Create(sl => script.AppendLine(sl), true); - Assert.That(script.ToString(), Text.Contains(expectedExportString)); + Assert.That(script.ToString(), Is.StringContaining(expectedExportString)); new SchemaExport(cfg).Drop(false, true); } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1760/SampleTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1760/SampleTest.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1760/SampleTest.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -71,7 +71,7 @@ { ICriteria c = session.CreateCriteria(typeof(TestClass)); IList<TestClass> retvalue = c.List<TestClass>(); - Assert.That(ls.GetWholeLog(), Text.DoesNotContain("join")); + Assert.That(ls.GetWholeLog(), Is.Not.StringContaining("join")); criteriaCount = retvalue.Count; } } Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1813/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1813/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1813/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -26,8 +26,8 @@ { s.Save(new EntityWithUnique { Id = 2, Description = "algo" }); var exception = Assert.Throws<GenericADOException>(t.Commit); - Assert.That(exception.Message, Text.Contains("INSERT"), "should contain SQL"); - Assert.That(exception.Message, Text.Contains("#2"), "should contain id"); + Assert.That(exception.Message, Is.StringContaining("INSERT"), "should contain SQL"); + Assert.That(exception.Message, Is.StringContaining("#2"), "should contain id"); } using (ISession s = OpenSession()) using (ITransaction t = s.BeginTransaction()) @@ -53,7 +53,7 @@ var e = s.Get<EntityWithUnique>(2); e.Description = "algo"; var exception = Assert.Throws<GenericADOException>(t.Commit); - Assert.That(exception.Message, Text.Contains("UPDATE"), "should contain SQL"); + Assert.That(exception.Message, Is.StringContaining("UPDATE"), "should contain SQL"); } using (ISession s = OpenSession()) using (ITransaction t = s.BeginTransaction()) Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2003/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2003/Fixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2003/Fixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -22,7 +22,7 @@ new SchemaExport(cfg).Execute(s => script.AppendLine(s), false, false); string wholeScript = script.ToString(); - Assert.That(wholeScript.ToLower(), Text.Contains("not null")); + Assert.That(wholeScript.ToLower(), Is.StringContaining("not null")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/QueryTest/MultiCriteriaFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/QueryTest/MultiCriteriaFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/QueryTest/MultiCriteriaFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -506,23 +506,23 @@ } } - [Test] - public void CanGetResultInAGenericList() - { - using (ISession s = OpenSession()) - { - ICriteria getItems = s.CreateCriteria(typeof(Item)); - ICriteria countItems = s.CreateCriteria(typeof(Item)) - .SetProjection(Projections.RowCount()); + [Test] + public void CanGetResultInAGenericList() + { + using (ISession s = OpenSession()) + { + ICriteria getItems = s.CreateCriteria(typeof(Item)); + ICriteria countItems = s.CreateCriteria(typeof(Item)) + .SetProjection(Projections.RowCount()); - IMultiCriteria multiCriteria = s.CreateMultiCriteria() - .Add(getItems) // we expect a non-generic result from this (ArrayList) - .Add<int>(countItems); // we expect a generic result from this (List<int>) - IList results = multiCriteria.List(); + IMultiCriteria multiCriteria = s.CreateMultiCriteria() + .Add(getItems) // we expect a non-generic result from this (ArrayList) + .Add<int>(countItems); // we expect a generic result from this (List<int>) + IList results = multiCriteria.List(); - Assert.IsInstanceOfType(typeof(ArrayList), results[0]); - Assert.IsInstanceOfType(typeof(List<int>), results[1]); - } - } + Assert.That(results[0], Is.InstanceOf<ArrayList>()); + Assert.That(results[1], Is.InstanceOf<List<int>>()); + } + } } } Modified: trunk/nhibernate/src/NHibernate.Test/QueryTest/MultipleQueriesFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/QueryTest/MultipleQueriesFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/QueryTest/MultipleQueriesFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -485,23 +485,23 @@ RemoveAllItems(); } - [Test] - public void CanGetResultsInAGenericList() - { - using (ISession s = OpenSession()) - { - IQuery getItems = s.CreateQuery("from Item"); - IQuery countItems = s.CreateQuery("select count(*) from Item"); + [Test] + public void CanGetResultsInAGenericList() + { + using (ISession s = OpenSession()) + { + IQuery getItems = s.CreateQuery("from Item"); + IQuery countItems = s.CreateQuery("select count(*) from Item"); - IList results = s.CreateMultiQuery() - .Add(getItems) - .Add<long>(countItems) - .List(); + IList results = s.CreateMultiQuery() + .Add(getItems) + .Add<long>(countItems) + .List(); - Assert.IsInstanceOfType(typeof(ArrayList), results[0]); - Assert.IsInstanceOfType(typeof(List<long>), results[1]); - } - } + Assert.That(results[0], Is.InstanceOf<ArrayList>()); + Assert.That(results[1], Is.InstanceOf<List<long>>()); + } + } public class ResultTransformerStub : IResultTransformer { Modified: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests/WithColumnTagFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests/WithColumnTagFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests/WithColumnTagFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -22,8 +22,8 @@ new SchemaExport(cfg).Execute(s => script.AppendLine(s), false, false); string wholeScript = script.ToString(); - Assert.That(wholeScript, Text.Contains("default SYSTEM_USER")); - Assert.That(wholeScript, Text.Contains("default 77")); + Assert.That(wholeScript, Is.StringContaining("default SYSTEM_USER")); + Assert.That(wholeScript, Is.StringContaining("default 77")); } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -44,7 +44,7 @@ } catch (HibernateException e) { - Assert.That(e.Message, Text.StartsWith("Missing column: Name")); + Assert.That(e.Message, Is.StringStarting("Missing column: Name")); } } } Modified: trunk/nhibernate/src/NHibernate.Test/UtilityTest/BasicFormatterFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/UtilityTest/BasicFormatterFixture.cs 2010-08-16 14:02:01 UTC (rev 5161) +++ trunk/nhibernate/src/NHibernate.Test/UtilityTest/BasicFormatterFixture.cs 2010-08-16 15:16:22 UTC (rev 5162) @@ -13,11 +13,11 @@ IFormatter formatter = new BasicFormatter(); string sql = @"INSERT INTO Table (Name, id) VALUES (@p0, @p1); @p0 = 'a'(b', @p1 = 1"; Assert.DoesNotThrow(() => formattedSql = formatter.Format(sql)); - Assert.That(formattedSql, Text.Contains("'a'(b'")); + Assert.That(formattedSql, Is.StringContaining("'a'(b'")); sql = @"UPDATE Table SET Column = @p0;@p0 = '(')'"; Assert.DoesNotThrow(() => formattedSql = formatter.Format(sql)); - Assert.That(formattedSql, Text.Contains("'(')'")); + Assert.That(formattedSql, Is.StringContaining("'(')'")); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-09-02 14:46:03
|
Revision: 5178 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5178&view=rev Author: julian-maughan Date: 2010-09-02 14:45:56 +0000 (Thu, 02 Sep 2010) Log Message: ----------- Adding test to demonstrate null SyncRoot on lazy loaded PersistentIdentifierBag collection (ref. NH-2111) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/A.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/A.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/A.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/A.cs 2010-09-02 14:45:56 UTC (rev 5178) @@ -0,0 +1,30 @@ +using System; +using System.Collections; + +namespace NHibernate.Test.NHSpecificTest.NH2111 +{ + public class A + { + private int? _id; + private string _name; + private IList _lazyItems; + + public int? Id + { + get { return _id; } + set { _id = value; } + } + + public string Name + { + get { return _name; } + set { _name = value; } + } + + public IList LazyItems + { + get { return _lazyItems; } + set { _lazyItems = value; } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Fixture.cs 2010-09-02 14:45:56 UTC (rev 5178) @@ -0,0 +1,47 @@ +using System; +using System.Collections; + +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2111 +{ + [TestFixture] + public class Fixture : BugTestCase + { + protected override void OnTearDown() + { + using( ISession s = sessions.OpenSession() ) + { + s.Delete( "from A" ); + s.Flush(); + } + } + + [Test] + public void SyncRootOnLazyLoad() + { + A a = new A(); + a.Name = "first generic type"; + a.LazyItems = new ArrayList(); + a.LazyItems.Add("first string"); + a.LazyItems.Add("second string"); + a.LazyItems.Add("third string"); + + ISession s = OpenSession(); + s.SaveOrUpdate(a); + s.Flush(); + s.Close(); + + Assert.IsNotNull(a.LazyItems.SyncRoot); + Assert.AreEqual("first string", a.LazyItems[0]); + + s = OpenSession(); + a = (A)s.Load(typeof(A), a.Id); + + Assert.IsNotNull(a.LazyItems.SyncRoot); + Assert.AreEqual("first string", a.LazyItems[0]); + + s.Close(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2111/Mappings.hbm.xml 2010-09-02 14:45:56 UTC (rev 5178) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping + xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2111"> + + <class name="A" table="a" lazy="false"> + + <id name="Id" column="id" unsaved-value="null"> + <generator class="native" /> + </id> + + <property name="Name" column="aname" /> + + <idbag name="LazyItems" cascade="all-delete-orphan" lazy="true"> + <collection-id type="Int32" column="item_id"> + <generator class="increment" /> + </collection-id> + <key column="a_id" /> + <element type="string" /> + </idbag> + + </class> + +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-01 18:39:43 UTC (rev 5177) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-02 14:45:56 UTC (rev 5178) @@ -455,6 +455,8 @@ <Compile Include="NHSpecificTest\NH1836\Entity.cs" /> <Compile Include="NHSpecificTest\NH1836\EntityDTO.cs" /> <Compile Include="NHSpecificTest\NH1836\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2111\A.cs" /> + <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> <Compile Include="NHSpecificTest\NH2148\Domain.cs" /> <Compile Include="NHSpecificTest\NH2224\Domain.cs" /> @@ -1752,6 +1754,7 @@ </None> <EmbeddedResource Include="NHSpecificTest\NH2224\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2279\Mappings.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH2111\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\NHibernate.ByteCode.Castle\NHibernate.ByteCode.Castle.csproj"> @@ -2596,6 +2599,7 @@ <EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" /> </ItemGroup> <ItemGroup> + <Folder Include="NHSpecificTest\NH2111" /> <Folder Include="NHSpecificTest\NH2279" /> <Folder Include="Properties\" /> </ItemGroup> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-09-20 14:55:16
|
Revision: 5196 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5196&view=rev Author: julian-maughan Date: 2010-09-20 14:55:09 +0000 (Mon, 20 Sep 2010) Log Message: ----------- Test for NH-1136. Provides an example of mapping a custom dictionary with a many-to-many association. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Address.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/FeeMatrixType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/IMilestoneCollection.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollection.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollectionType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/PersistentMilestoneCollection.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Person.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/ReverseSortComparer.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/TemporalAddressType.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Address.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Address.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Address.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class Address : IEquatable<Address> + { + #region Fields + +#pragma warning disable 169 + private int _id; + private int _version; +#pragma warning restore 169 + + private string _number; + private string _postcode; + + #endregion + + #region Ctors + + public Address(string number, string postcode) + { + _number = number; + _postcode = postcode; + } + + private Address() + { + } + + #endregion + + #region Properties + + public string Number + { + get { return _number; } + } + + public string Postcode + { + get { return _postcode; } + } + + #endregion + + #region Object Overrides + + public override bool Equals(object obj) + { + return Equals(obj as Address); + } + + public override int GetHashCode() + { + return Postcode.GetHashCode() + 29*Number.GetHashCode(); + } + + #endregion + + #region IEquatable<Address> Members + + public bool Equals(Address other) + { + return other == null ? false : IsEqualTo(other); + } + + #endregion + + private bool IsEqualTo(Address other) + { + return ReferenceEquals(this, other) || (Postcode.Equals(other.Postcode) && Number.Equals(other.Number)); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/FeeMatrixType.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/FeeMatrixType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/FeeMatrixType.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,9 @@ +using System; +using NHibernate.UserTypes; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class FeeMatrixType : MilestoneCollectionType<int, decimal> + { + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Fixture.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,60 @@ +using System; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + [TestFixture] + public class Fixture : BugTestCase + { + public override string BugNumber + { + get { return "NH1136"; } + } + + protected override void OnTearDown() + { + using (ISession s = OpenSession()) + { + s.Delete("from Address"); + s.Delete("from Person"); + s.Flush(); + } + + base.OnTearDown(); + } + + [Test] + public void Test() + { + int id = -1; + + using (ISession s = OpenSession()) + { + var address1 = new Address("60", "EH3 8BE"); + var address2 = new Address("2", "EH6 6JA"); + s.Save(address1); + s.Save(address2); + + var person1 = new Person("'lil old me"); + person1.AddPercentageToFeeMatrix(0, .20m); + person1.AddPercentageToFeeMatrix(50, .15m); + person1.AddPercentageToFeeMatrix(100, .1m); + person1.RegisterChangeOfAddress(DateTime.Parse("15/04/2005"), address1); + person1.RegisterChangeOfAddress(DateTime.Parse("29/05/2007"), address2); + + s.Save(person1); + s.Flush(); + + id = person1.Id; + } + + using (ISession s = OpenSession()) + { + var person1 = s.Load<Person>(id); + person1.RegisterChangeOfAddress(DateTime.Parse("23/03/2008"), new Address("8", "SS7 1TT")); + s.Save(person1); + s.Flush(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/IMilestoneCollection.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/IMilestoneCollection.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/IMilestoneCollection.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public interface IMilestoneCollection<TKey, TValue> : IDictionary<TKey, TValue> + where TKey : IComparable<TKey> + { + TValue FindValueFor(TKey key); + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Mappings.hbm.xml 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping + xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1136"> + + <class name ="Person" table="PERSON" lazy="false"> + + <id name="_id" column="PERSON_ID" access="field"> + <generator class="identity"/> + </id> + + <version name="_version" column ="VERSION" access="field"/> + + <property name="Name" column="NAME" access="nosetter.camelcase-underscore" /> + + <map + name="_feeMatrix" + access="field" + generic="true" + cascade="all-delete-orphan" + lazy="true" + table="FEE_MATRIX" + collection-type="FeeMatrixType, NHibernate.Test"> + + <key column="PERSON_ID"/> + <index column="MILESTONE" type="System.Int32"/> + <element column="PERCENTAGE" type="System.Decimal" not-null="true"/> + </map> + + <map + name="_historyOfAddresses" + access="field" + generic="true" + cascade="all-delete-orphan" + lazy="true" + table="PERSON_ADDRESS_ASSOCIATION" + collection-type="TemporalAddressesType, NHibernate.Test"> + + <key column="PERSON_ID" /> + <index column="MOVED_IN_ON" type="System.DateTime"/> + <many-to-many class="Address" column="ADDRESS_ID" /> + </map> + + </class> + + <class name ="Address" table="ADDRESS" lazy="false"> + + <id name="_id" column="ADDRESS_ID" access="field"> + <generator class="identity"/> + </id> + + <version name="_version" column ="VERSION" access="field"/> + + <property name="Number" column="HOUSE_NUMBER" access="nosetter.camelcase-underscore" /> + + <property name="Postcode" column="POSTCODE" access="nosetter.camelcase-underscore" /> + + </class> + +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollection.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollection.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollection.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class MilestoneCollection<TKey, TValue> : SortedDictionary<TKey, TValue>, IMilestoneCollection<TKey, TValue> + where TKey : IComparable<TKey> + { + public MilestoneCollection() : base(new ReverseSortComparer<TKey>()){} + + #region IMilestoneCollection<TKey,TValue> Members + + public TValue FindValueFor(TKey key) + { + foreach (TKey milestone in this.Keys) + { + if (milestone.CompareTo(key) <= 0) return this[milestone]; + } + return default(TValue); + } + + #endregion + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollectionType.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollectionType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/MilestoneCollectionType.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,47 @@ +using System; +using System.Collections; +using NHibernate.Collection; +using NHibernate.Engine; +using NHibernate.Persister.Collection; +using NHibernate.UserTypes; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class MilestoneCollectionType<TKey, TValue> : IUserCollectionType where TKey : IComparable<TKey> + { + public IPersistentCollection Instantiate(ISessionImplementor session, ICollectionPersister persister) + { + return new PersistentMilestoneCollection<TKey, TValue>(session); + } + + public IPersistentCollection Wrap(ISessionImplementor session, object collection) + { + return new PersistentMilestoneCollection<TKey, TValue>(session, (IMilestoneCollection <TKey, TValue>) collection); + } + + public IEnumerable GetElements(object collection) + { + return (IEnumerable)((IMilestoneCollection<TKey, TValue>) collection).Values; + } + + public bool Contains(object collection, object entity) + { + throw new NotImplementedException(); + } + + public object IndexOf(object collection, object entity) + { + throw new NotImplementedException(); + } + + public object ReplaceElements(object original, object target, ICollectionPersister persister, object owner, IDictionary copyCache, ISessionImplementor session) + { + throw new NotImplementedException(); + } + + public object Instantiate(int anticipatedSize) + { + return new MilestoneCollection<TKey, TValue>(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/PersistentMilestoneCollection.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/PersistentMilestoneCollection.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/PersistentMilestoneCollection.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,28 @@ +using System; +using NHibernate.Collection.Generic; +using NHibernate.Engine; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class PersistentMilestoneCollection<TKey, TValue> : PersistentGenericMap<TKey, TValue>, IMilestoneCollection<TKey, TValue> + where TKey : IComparable<TKey> + { + public PersistentMilestoneCollection(ISessionImplementor session, IMilestoneCollection<TKey, TValue> map) : base(session, map) + { + } + + public PersistentMilestoneCollection(ISessionImplementor session) : base(session) + { + } + + #region IMilestoneCollection<TKey,TValue> Members + + public TValue FindValueFor(TKey key) + { + Read(); + return ((IMilestoneCollection<TKey, TValue>) map).FindValueFor(key); + } + + #endregion + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Person.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Person.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/Person.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,104 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class Person : IEquatable<Person> + { + #region Fields + +#pragma warning disable 169 + private int _id; + private int _version; +#pragma warning restore 169 + + private string _name; + private IMilestoneCollection<int, decimal> _feeMatrix = new MilestoneCollection<int, decimal>(); + private IMilestoneCollection<DateTime, Address> _historyOfAddresses = new MilestoneCollection<DateTime, Address>(); + + #endregion + + #region Constructors + + private Person() + { + } + + public Person(string name) + { + _name = name; + } + + #endregion + + #region Properties + + public int Id + { + get { return _id; } + } + + public string Name + { + get { return _name; } + } + + public Address CurrentAddress + { + get { return _historyOfAddresses.FindValueFor(DateTime.Now); } + } + + #endregion + + #region Methods + + public void AddPercentageToFeeMatrix(int value, decimal percentage) + { + _feeMatrix[value] = percentage; + } + + public decimal FindFeePercentageForValue(int value) + { + return _feeMatrix.FindValueFor(value); + } + + public void RegisterChangeOfAddress(DateTime movingDate, Address newAddress) + { + _historyOfAddresses[movingDate] = newAddress; + } + + #endregion + + #region Object Overrides + + public override bool Equals(object obj) + { + return Equals(obj as Person); + } + + public override int GetHashCode() + { + return Name.GetHashCode(); + } + + public override string ToString() + { + return "Person: " + Name; + } + + #endregion + + #region IEquatable<Person> Members + + public bool Equals(Person other) + { + return other == null ? false : IsEqualTo(other); + } + + #endregion + + private bool IsEqualTo(Person other) + { + return ReferenceEquals(this, other) || Name.Equals(other.Name); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/ReverseSortComparer.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/ReverseSortComparer.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/ReverseSortComparer.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public sealed class ReverseSortComparer<T> : IComparer<T> where T : IComparable<T> + { + #region IComparer<T> Members + + public int Compare(T x, T y) + { + return y.CompareTo(x); + } + + #endregion + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/TemporalAddressType.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/TemporalAddressType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1136/TemporalAddressType.cs 2010-09-20 14:55:09 UTC (rev 5196) @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; +using NHibernate.UserTypes; + +namespace NHibernate.Test.NHSpecificTest.NH1136 +{ + public class TemporalAddressesType : MilestoneCollectionType<DateTime, Address> + { + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-20 09:41:14 UTC (rev 5195) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-20 14:55:09 UTC (rev 5196) @@ -450,6 +450,16 @@ <Compile Include="Linq\ReadonlyTestCase.cs" /> <Compile Include="Logging\Log4NetLoggerTest.cs" /> <Compile Include="Logging\LoggerProviderTest.cs" /> + <Compile Include="NHSpecificTest\NH1136\Address.cs" /> + <Compile Include="NHSpecificTest\NH1136\FeeMatrixType.cs" /> + <Compile Include="NHSpecificTest\NH1136\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1136\IMilestoneCollection.cs" /> + <Compile Include="NHSpecificTest\NH1136\MilestoneCollection.cs" /> + <Compile Include="NHSpecificTest\NH1136\MilestoneCollectionType.cs" /> + <Compile Include="NHSpecificTest\NH1136\PersistentMilestoneCollection.cs" /> + <Compile Include="NHSpecificTest\NH1136\Person.cs" /> + <Compile Include="NHSpecificTest\NH1136\ReverseSortComparer.cs" /> + <Compile Include="NHSpecificTest\NH1136\TemporalAddressType.cs" /> <Compile Include="NHSpecificTest\NH1421\AnEntity.cs" /> <Compile Include="NHSpecificTest\NH1421\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1836\Entity.cs" /> @@ -1768,6 +1778,7 @@ <EmbeddedResource Include="NHSpecificTest\NH2111\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2322\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2278\Mappings.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH1136\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\NHibernate.ByteCode.Castle\NHibernate.ByteCode.Castle.csproj"> @@ -2613,6 +2624,7 @@ <EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" /> </ItemGroup> <ItemGroup> + <Folder Include="NHSpecificTest\NH1136" /> <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. |
From: <fab...@us...> - 2010-09-25 15:24:50
|
Revision: 5216 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5216&view=rev Author: fabiomaulo Date: 2010-09-25 15:24:43 +0000 (Sat, 25 Sep 2010) Log Message: ----------- Example for NH-2324 (only to show the right syntax) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/BulkUpdateWithCustomCompositeType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeData.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeUserType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Entity.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/BulkUpdateWithCustomCompositeType.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/BulkUpdateWithCustomCompositeType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/BulkUpdateWithCustomCompositeType.cs 2010-09-25 15:24:43 UTC (rev 5216) @@ -0,0 +1,60 @@ +using System; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2324 +{ + public class BulkUpdateWithCustomCompositeType: BugTestCase + { + public class Scenario: IDisposable + { + private readonly ISessionFactory factory; + + public Scenario(ISessionFactory factory) + { + this.factory = factory; + using (ISession s = factory.OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + var e = new Entity + { + Data = new CompositeData {DataA = new DateTime(2010, 1, 1), DataB = new DateTime(2010, 2, 2)} + }; + s.Save(e); + t.Commit(); + } + } + + public void Dispose() + { + using (ISession s = factory.OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.CreateQuery("delete from Entity").ExecuteUpdate(); + t.Commit(); + } + } + } + + [Test] + public void ShouldAllowBulkupdateWithCompositeUserType() + { + using (new Scenario(Sfi)) + { + string queryString = @"update Entity m set m.Data.DataA = :dataA, m.Data.DataB = :dataB"; + + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + var query = s.CreateQuery(queryString) + .SetDateTime("dataA", new DateTime(2010, 3, 3)) + .SetDateTime("dataB", new DateTime(2010, 4, 4)); + + query.Executing(q => q.ExecuteUpdate()).NotThrows(); + + t.Commit(); + } + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeData.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeData.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeData.cs 2010-09-25 15:24:43 UTC (rev 5216) @@ -0,0 +1,10 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2324 +{ + public class CompositeData + { + public virtual DateTime DataA { get; set; } + public virtual DateTime DataB { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeUserType.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeUserType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/CompositeUserType.cs 2010-09-25 15:24:43 UTC (rev 5216) @@ -0,0 +1,225 @@ +using System; +using System.Data; +using NHibernate.Engine; +using NHibernate.Type; +using NHibernate.UserTypes; + +namespace NHibernate.Test.NHSpecificTest.NH2324 +{ + public class CompositeUserType : ICompositeUserType + { + #region ICompositeUserType Members + + /// <summary> + /// Compare two instances of the class mapped by this type for persistence + /// "equality", ie. equality of persistent state. + /// </summary> + /// <param name="x"></param> + /// <param name="y"></param> + /// <returns></returns> + public new bool Equals(object x, object y) + { + if (ReferenceEquals(x, y)) + { + return true; + } + else if (x == null || + y == null) + { + return false; + } + else + { + return x.Equals(y); + } + } + + /// <summary> + /// Get the "property names" that may be used in a query. + /// </summary> + /// <value></value> + public string[] PropertyNames + { + get + { + return new[] + { + "DataA", + "DataB" + }; + } + } + + /// <summary> + /// Get the corresponding "property types" + /// </summary> + /// <value></value> + public IType[] PropertyTypes + { + get + { + return new IType[] + { + NHibernateUtil.DateTime, + NHibernateUtil.DateTime + }; + } + } + + /// <summary> + /// Get the value of a property + /// </summary> + /// <param name="component">an instance of class mapped by this "type"</param> + /// <param name="property"></param> + /// <returns>the property value</returns> + public object GetPropertyValue(object component, int property) + { + var p = (CompositeData) component; + if (property == 0) + { + return p.DataA; + } + else + { + return p.DataB; + } + } + + /// <summary> + /// Set the value of a property + /// </summary> + /// <param name="component">an instance of class mapped by this "type"</param> + /// <param name="property"></param> + /// <param name="value">the value to set</param> + public void SetPropertyValue(object component, int property, object value) + { + throw new NotImplementedException(); + } + + /// <summary> + /// The class returned by NullSafeGet(). + /// </summary> + /// <value></value> + public System.Type ReturnedClass + { + get { return typeof (CompositeData); } + } + + /// <summary> + /// Get a hashcode for the instance, consistent with persistence "equality" + /// </summary> + /// <param name="x"></param> + /// <returns></returns> + public int GetHashCode(object x) + { + return x.GetHashCode(); + } + + /// <summary> + /// Retrieve an instance of the mapped class from a IDataReader. Implementors + /// should handle possibility of null values. + /// </summary> + /// <param name="dr">IDataReader</param> + /// <param name="names">the column names</param> + /// <param name="session"></param> + /// <param name="owner">the containing entity</param> + /// <returns></returns> + public object NullSafeGet(IDataReader dr, string[] names, ISessionImplementor session, object owner) + { + var data = new CompositeData(); + data.DataA = (DateTime) NHibernateUtil.DateTime.NullSafeGet(dr, new[] {names[0]}, session, owner); + data.DataB = (DateTime) NHibernateUtil.DateTime.NullSafeGet(dr, new[] {names[1]}, session, owner); + + return data; + } + + /// <summary> + /// Write an instance of the mapped class to a prepared statement. + /// Implementors should handle possibility of null values. + /// A multi-column type should be written to parameters starting from index. + /// </summary> + /// <param name="cmd"></param> + /// <param name="value"></param> + /// <param name="index"></param> + /// <param name="session"></param> + public void NullSafeSet(IDbCommand cmd, object value, int index, ISessionImplementor session) + { + if (value == null) + { + ((IDataParameter) cmd.Parameters[index]).Value = DBNull.Value; + ((IDataParameter) cmd.Parameters[index + 1]).Value = DBNull.Value; + } + else + { + var data = (CompositeData) value; + NHibernateUtil.DateTime.Set(cmd, data.DataA, index); + NHibernateUtil.DateTime.Set(cmd, data.DataB, index + 1); + } + } + + /// <summary> + /// Return a deep copy of the persistent state, stopping at entities and at collections. + /// </summary> + /// <param name="value">generally a collection element or entity field</param> + /// <returns></returns> + public object DeepCopy(object value) + { + return value; + } + + /// <summary> + /// Are objects of this type mutable? + /// </summary> + /// <value></value> + public bool IsMutable + { + get { return true; } + } + + /// <summary> + /// Transform the object into its cacheable representation. + /// At the very least this method should perform a deep copy. + /// That may not be enough for some implementations, method should perform a deep copy. That may not be enough for some implementations, however; for example, associations must be cached as identifier values. (optional operation) + /// </summary> + /// <param name="value">the object to be cached</param> + /// <param name="session"></param> + /// <returns></returns> + public object Disassemble(object value, ISessionImplementor session) + { + return DeepCopy(value); + } + + /// <summary> + /// Reconstruct an object from the cacheable representation. + /// At the very least this method should perform a deep copy. (optional operation) + /// </summary> + /// <param name="cached">the object to be cached</param> + /// <param name="session"></param> + /// <param name="owner"></param> + /// <returns></returns> + public object Assemble(object cached, ISessionImplementor session, object owner) + { + return DeepCopy(cached); + } + + /// <summary> + /// During merge, replace the existing (target) value in the entity we are merging to + /// with a new (original) value from the detached entity we are merging. For immutable + /// objects, or null values, it is safe to simply return the first parameter. For + /// mutable objects, it is safe to return a copy of the first parameter. However, since + /// composite user types often define component values, it might make sense to recursively + /// replace component values in the target object. + /// </summary> + /// <param name="original"></param> + /// <param name="target"></param> + /// <param name="session"></param> + /// <param name="owner"></param> + /// <returns></returns> + public object Replace(object original, object target, ISessionImplementor session, object owner) + { + return original; + } + + #endregion + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Entity.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Entity.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Entity.cs 2010-09-25 15:24:43 UTC (rev 5216) @@ -0,0 +1,9 @@ +namespace NHibernate.Test.NHSpecificTest.NH2324 +{ + public class Entity + { + public virtual long Id { get; set; } + + public virtual CompositeData Data { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2324/Mappings.hbm.xml 2010-09-25 15:24:43 UTC (rev 5216) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH2324" + assembly="NHibernate.Test"> + + <class name="Entity"> + <id name="Id"> + <generator class="hilo" > + <param name="max_lo">100</param> + </generator> + </id> + + <property name="Data" type="CompositeUserType"> + <column name="DataA"/> + <column name="DataB"/> + </property> + </class> + +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-24 13:45:53 UTC (rev 5215) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-25 15:24:43 UTC (rev 5216) @@ -501,6 +501,10 @@ <Compile Include="NHSpecificTest\NH2322\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2322\Model.cs" /> <Compile Include="NHSpecificTest\NH2322\PostUpdateEventListener.cs" /> + <Compile Include="NHSpecificTest\NH2324\CompositeData.cs" /> + <Compile Include="NHSpecificTest\NH2324\CompositeUserType.cs" /> + <Compile Include="NHSpecificTest\NH2324\Entity.cs" /> + <Compile Include="NHSpecificTest\NH2324\BulkUpdateWithCustomCompositeType.cs" /> <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="TypesTest\CharClass.cs" /> @@ -2297,6 +2301,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2324\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2344\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2112\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2147\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-09-26 14:26:30
|
Revision: 5223 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5223&view=rev Author: fabiomaulo Date: 2010-09-26 14:26:22 +0000 (Sun, 26 Sep 2010) Log Message: ----------- Test for NH-2331 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Forum.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/MemberGroup.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Person.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Forum.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Forum.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Forum.cs 2010-09-26 14:26:22 UTC (rev 5223) @@ -0,0 +1,11 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2331 +{ + public class Forum + { + public virtual Guid Id { get; set; } + public virtual string Name { get; set; } + public virtual double Dollars { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Mappings.hbm.xml 2010-09-26 14:26:22 UTC (rev 5223) @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2331" default-access="property" + default-lazy="false"> + + <class name="NHibernate.Test.NHSpecificTest.NH2331.Forum"> + + <id name="Id"> + <generator class="guid" /> + </id> + + <property name="Name" type="string" /> + <property name="Dollars" type="double" /> + + </class> + + + <class name="NHibernate.Test.NHSpecificTest.NH2331.MemberGroup"> + + <id name="Id"> + <generator class="guid" /> + </id> + + <property name="Name" type="System.String" /> + + <bag + name="Members" + table="Group2Members" + > + <key> + <column name="GroupId" /> + </key> + <many-to-many + class="NHibernate.Test.NHSpecificTest.NH2331.Person"> + <column name="PersonId" /> + </many-to-many> + </bag> + + <bag + name="Forums" + table="Group2Forums" + > + <key> + <column name="GroupId" /> + </key> + <many-to-many + class="NHibernate.Test.NHSpecificTest.NH2331.Forum"> + <column name="ForumId" /> + </many-to-many> + </bag> + + </class> + + + <class name="NHibernate.Test.NHSpecificTest.NH2331.Person"> + + <id name="Id"> + <generator class="guid" /> + </id> + + <property name="Name" type="System.String" /> + + </class> + +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/MemberGroup.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/MemberGroup.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/MemberGroup.cs 2010-09-26 14:26:22 UTC (rev 5223) @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH2331 +{ + public class MemberGroup + { + public virtual Guid Id { get; set; } + public virtual string Name { get; set; } + public virtual IList<Person> Members { get; set; } + public virtual IList<Forum> Forums { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs 2010-09-26 14:26:22 UTC (rev 5223) @@ -0,0 +1,152 @@ +using System; +using System.Collections.Generic; +using NHibernate.Criterion; +using NHibernate.Transform; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2331 +{ + public class Bar + { + public string Name { get; set; } + public double Sum { get; set; } + } + + [TestFixture, Ignore("Not fixed yet.")] + public class Nh2331Test : BugTestCase + { + private Guid person0Id; + private Guid person1Id; + + protected override void OnSetUp() + { + base.OnSetUp(); + + var person0 = new Person + { + Name = "Schorsch", + }; + + var person1 = new Person + { + Name = "Sepp", + }; + + var person2 = new Person + { + Name = "Detlef", + }; + + var forum0 = new Forum + { + Name = "Oof", + Dollars = 1887.00, + }; + + var forum1 = new Forum + { + Name = "Rab", + Dollars = 33.00, + }; + + var forum2 = new Forum + { + Name = "Main", + Dollars = 42.42, + }; + + var group0 = new MemberGroup + { + Name = "Gruppe Bla", + Members = new List<Person>(), + Forums = new List<Forum>(), + }; + group0.Members.Add(person0); + group0.Forums.Add(forum0); + group0.Forums.Add(forum1); + + var group1 = new MemberGroup + { + Name = "Gruppe Blub", + Members = new List<Person>(), + Forums = new List<Forum>(), + }; + group1.Members.Add(person1); + group1.Members.Add(person2); + group1.Forums.Add(forum2); + + using (ISession session = OpenSession()) + { + person0Id = (Guid) session.Save(person0); + person1Id = (Guid) session.Save(person1); + + session.Flush(); + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + using (ISession session = OpenSession()) + { + string hql = "from System.Object"; + session.Delete(hql); + session.Flush(); + } + } + + protected override bool AppliesTo(Dialect.Dialect dialect) + { + return (true); + } + + [Test] + public void DetachedCriteriaCorrelatedQueryExplodes() + { + using (ISession session = OpenSession()) + { + DetachedCriteria memberGroupCriteria + = DetachedCriteria + .For<MemberGroup>() + .CreateAlias("Members", "m") + .CreateAlias("Forums", "f") + .Add(Restrictions.EqProperty("m.Id", "p.Id")) + .SetProjection(Projections.Property("f.Id")) + ; + + var ids = new List<Guid>(); + ids.Add(person0Id); + ids.Add(person1Id); + + DetachedCriteria forumCriteria + = DetachedCriteria + .For<Forum>("fff") + .Add(Restrictions.NotEqProperty("Id", "p.Id")) + .Add(Subqueries.PropertyIn("Id", memberGroupCriteria)) + .SetProjection + ( + Projections.Sum("Dollars") + ) + ; + + DetachedCriteria personCriteria + = DetachedCriteria + .For<Person>("p") + .Add(Restrictions.InG("Id", ids)) + .SetProjection + ( + Projections + .ProjectionList() + .Add(Projections.Property("Name"), "Name") + .Add(Projections.SubQuery(forumCriteria), "Sum") + ) + .SetResultTransformer(Transformers.AliasToBean(typeof (Bar))) + ; + + ICriteria criteria = personCriteria.GetExecutableCriteria(session); + criteria.Executing(c => c.List()).NotThrows(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Person.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Person.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Person.cs 2010-09-26 14:26:22 UTC (rev 5223) @@ -0,0 +1,10 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2331 +{ + public class Person + { + public virtual Guid Id { get; set; } + public virtual string Name { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-26 03:53:27 UTC (rev 5222) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-26 14:26:22 UTC (rev 5223) @@ -511,6 +511,10 @@ <Compile Include="NHSpecificTest\NH2324\CompositeUserType.cs" /> <Compile Include="NHSpecificTest\NH2324\Entity.cs" /> <Compile Include="NHSpecificTest\NH2324\BulkUpdateWithCustomCompositeType.cs" /> + <Compile Include="NHSpecificTest\NH2331\Forum.cs" /> + <Compile Include="NHSpecificTest\NH2331\MemberGroup.cs" /> + <Compile Include="NHSpecificTest\NH2331\Nh2331Test.cs" /> + <Compile Include="NHSpecificTest\NH2331\Person.cs" /> <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="TypesTest\CharClass.cs" /> @@ -2308,6 +2312,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2331\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2324\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2344\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2112\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-09-30 16:27:24
|
Revision: 5229 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5229&view=rev Author: julian-maughan Date: 2010-09-30 16:27:15 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Multi-query and composite id test (ref. NH-1869) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Entities.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Mappings.hbm.xml Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869 ___________________________________________________________________ Added: bugtraq:url + http://jira.nhibernate.org/browse/%BUGID% Added: bugtraq:logregex + NH-\d+ Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Entities.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Entities.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Entities.cs 2010-09-30 16:27:15 UTC (rev 5229) @@ -0,0 +1,78 @@ +namespace NHibernate.Test.NHSpecificTest.NH1869 +{ + public abstract class Entity<T, TKey> where T : Entity<T, TKey> + { + private int? m_oldHashCode; + + public override bool Equals(object obj) + { + T other = obj as T; + + if (other == null) + { + return false; + } + + bool otherIsTransient = Equals(other.Id, default(TKey)); + bool thisIsTransient = Equals(Id, default(TKey)); + + if (otherIsTransient && thisIsTransient) + { + return ReferenceEquals(other, this); + } + + return other.Id.Equals(Id); + } + + public override int GetHashCode() + { + if (m_oldHashCode.HasValue) + { + return m_oldHashCode.Value; + } + bool thisIsTransient = Equals(Id, default(TKey)); + + if (thisIsTransient) + { + m_oldHashCode = base.GetHashCode(); + return m_oldHashCode.Value; + } + + return Id.GetHashCode(); + } + + public abstract TKey Id { get; set; } + + public static bool operator ==(Entity<T, TKey> x, Entity<T, TKey> y) + { + return Equals(x, y); + } + + public static bool operator !=(Entity<T, TKey> x, Entity<T, TKey> y) + { + return !(x == y); + } + } + + public class Keyword : Entity<Keyword, int> + { + public override int Id { get; set; } + } + + public class NodeKeyword + { + public virtual int NodeId { get; set; } + public virtual Keyword Keyword { get; set; } + + public override bool Equals(object obj) + { + NodeKeyword other = (NodeKeyword)obj; + return NodeId == other.NodeId && Keyword == other.Keyword; + } + + public override int GetHashCode() + { + return NodeId.GetHashCode() + Keyword.GetHashCode(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Fixture.cs 2010-09-30 16:27:15 UTC (rev 5229) @@ -0,0 +1,69 @@ +using System.Collections; +using NHibernate.Driver; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1869 +{ + [TestFixture] + public class Fixture : BugTestCase + { + private Keyword _keyword; + + protected override void OnTearDown() + { + using (ISession session = sessions.OpenSession()) + { + using (ITransaction transaction = session.BeginTransaction()) + { + session.Delete("from NodeKeyword"); + session.Delete("from Keyword"); + transaction.Commit(); + } + } + } + + [Test] + public void Test() + { + IDriver driver = sessions.ConnectionProvider.Driver; + if (!driver.SupportsMultipleQueries) + { + Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + } + + using (ISession session = sessions.OpenSession()) + using (ITransaction transaction = session.BeginTransaction()) + { + _keyword = new Keyword(); + session.Save(_keyword); + + NodeKeyword nodeKeyword = new NodeKeyword(); + nodeKeyword.NodeId = 1; + nodeKeyword.Keyword = _keyword; + session.Save(nodeKeyword); + + transaction.Commit(); + } + + using (ISession session = sessions.OpenSession()) + { + //If uncomment the line below the test will pass + //GetResult(session); + IList result = GetResult(session); + Assert.That(result, Has.Count.EqualTo(2)); + Assert.That(result[0], Has.Count.EqualTo(1)); + Assert.That(result[1], Has.Count.EqualTo(1)); + } + } + + private IList GetResult(ISession session) + { + IQuery query1 = session.CreateQuery("from NodeKeyword nk"); + IQuery query2 = session.CreateQuery("from NodeKeyword nk"); + + var multi = session.CreateMultiQuery(); + multi.Add(query1).Add(query2); + return multi.List(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1869/Mappings.hbm.xml 2010-09-30 16:27:15 UTC (rev 5229) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping + xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH1869"> + + <class name="Keyword" table="Keywords" lazy="true"> + <id name="Id" column="id"> + <generator class="native" /> + </id> + </class> + + <class name="NodeKeyword" table="NodeKeywords" lazy="true"> + <composite-id> + <key-property name="NodeId" column="nodeId" /> + <key-many-to-one name="Keyword" column="keywordId" /> + </composite-id> + </class> + +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-28 21:23:08 UTC (rev 5228) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-30 16:27:15 UTC (rev 5229) @@ -468,6 +468,8 @@ <Compile Include="NHSpecificTest\NH1836\Entity.cs" /> <Compile Include="NHSpecificTest\NH1836\EntityDTO.cs" /> <Compile Include="NHSpecificTest\NH1836\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1869\Entities.cs" /> + <Compile Include="NHSpecificTest\NH1869\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2111\A.cs" /> <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> @@ -1803,6 +1805,7 @@ <EmbeddedResource Include="NHSpecificTest\NH2278\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1136\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2202\Mappings.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH1869\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\NHibernate.ByteCode.Castle\NHibernate.ByteCode.Castle.csproj"> @@ -2658,6 +2661,7 @@ <EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" /> </ItemGroup> <ItemGroup> + <Folder Include="NHSpecificTest\NH1869" /> <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. |
From: <fab...@us...> - 2010-10-06 17:40:24
|
Revision: 5232 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5232&view=rev Author: fabiomaulo Date: 2010-10-06 17:40:17 +0000 (Wed, 06 Oct 2010) Log Message: ----------- Test for NH-2361 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Fixture.cs 2010-10-06 17:40:17 UTC (rev 5232) @@ -0,0 +1,18 @@ +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2361 +{ + public class Fixture: BugTestCase + { + [Test] + public void WhenDeleteMultiTableHierarchyThenNotThrows() + { + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + s.CreateQuery("delete from Animal").ExecuteUpdate(); + tx.Commit(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2361/Mappings.hbm.xml 2010-10-06 17:40:17 UTC (rev 5232) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> + <class entity-name="Animal"> + <id type="int" column="Id"> + <generator class="hilo"/> + </id> + <property name="Description" type="string"/> + <joined-subclass entity-name="Reptile"> + <key column="Id"/> + <property name="Name" type="string"/> + </joined-subclass> + </class> +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-10-06 17:09:41 UTC (rev 5231) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-10-06 17:40:17 UTC (rev 5232) @@ -521,6 +521,7 @@ <Compile Include="NHSpecificTest\NH2331\Person.cs" /> <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> + <Compile Include="NHSpecificTest\NH2361\Fixture.cs" /> <Compile Include="PolymorphicGetAndLoad\Domain.cs" /> <Compile Include="PolymorphicGetAndLoad\PolymorphicGetAndLoadTest.cs" /> <Compile Include="TypesTest\CharClass.cs" /> @@ -2319,6 +2320,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2361\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\EntityNameAndCompositeId\Mappings.hbm.xml" /> <EmbeddedResource Include="PolymorphicGetAndLoad\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2331\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2010-11-29 02:29:18
|
Revision: 5283 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5283&view=rev Author: patearl Date: 2010-11-29 02:29:12 +0000 (Mon, 29 Nov 2010) Log Message: ----------- Added test for component equality in Linq. (NH-2244) Also allowed VS to remove a couple useless lines from the project. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/A.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/PhoneNumber.cs Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/A.cs (from rev 5280, trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2394/A.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/A.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/A.cs 2010-11-29 02:29:12 UTC (rev 5283) @@ -0,0 +1,11 @@ +using System; +using System.Collections; + +namespace NHibernate.Test.NHSpecificTest.NH2244 +{ + public class A + { + public int? Id { get; set; } + public PhoneNumber Phone { get; set; } + } +} Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Fixture.cs (from rev 5280, trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2394/Fixture.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Fixture.cs 2010-11-29 02:29:12 UTC (rev 5283) @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using NHibernate.Criterion; +using NUnit.Framework; +using NHibernate.Linq; +using System.Linq; +using NHibernate.Linq.Functions; + +namespace NHibernate.Test.NHSpecificTest.NH2244 +{ + [TestFixture] + public class Fixture : BugTestCase + { + protected override void OnTearDown() + { + using (ISession s = sessions.OpenSession()) + { + s.Delete("from A"); + s.Flush(); + } + } + + [Test] + public void LinqComponentTypeEquality() + { + ISession s = OpenSession(); + try + { + s.Save(new A { Phone = new PhoneNumber(1, "555-1111") }); + s.Save(new A { Phone = new PhoneNumber(1, "555-2222") }); + s.Save(new A { Phone = new PhoneNumber(1, "555-3333") }); + s.Flush(); + } + finally + { + s.Close(); + } + + s = OpenSession(); + try + { + A item = s.Query<A>().Where(a => a.Phone == new PhoneNumber(1, "555-2222")).Single(); + Assert.AreEqual("555-2222", item.Phone.Number); + } + finally + { + s.Close(); + } + } + } +} Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Mappings.hbm.xml (from rev 5280, trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2394/Mappings.hbm.xml) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/Mappings.hbm.xml 2010-11-29 02:29:12 UTC (rev 5283) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.NHSpecificTest.NH2244"> + <class name="A" lazy="false"> + <id name="Id" column="id" unsaved-value="null"> + <generator class="native" /> + </id> + <component name="Phone" class="PhoneNumber"> + <property name="CountryCode"/> + <property name="Number"/> + </component> + </class> +</hibernate-mapping> Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/PhoneNumber.cs (from rev 5280, trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2394/PhoneNumber.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/PhoneNumber.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2244/PhoneNumber.cs 2010-11-29 02:29:12 UTC (rev 5283) @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH2244 +{ + public class PhoneNumber + { + public PhoneNumber() + { + + } + + public PhoneNumber(int countryCode, string number) + { + CountryCode = countryCode; + Number = number; + } + + public int CountryCode { get; set; } + public string Number { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-11-28 21:02:39 UTC (rev 5282) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-11-29 02:29:12 UTC (rev 5283) @@ -494,6 +494,9 @@ <Compile Include="NHSpecificTest\NH2202\Model.cs" /> <Compile Include="NHSpecificTest\NH2224\Domain.cs" /> <Compile Include="NHSpecificTest\NH2224\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2244\A.cs" /> + <Compile Include="NHSpecificTest\NH2244\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2244\PhoneNumber.cs" /> <Compile Include="NHSpecificTest\NH2245\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2245\Model.cs" /> <Compile Include="NHSpecificTest\NH2266\Domain.cs" /> @@ -2334,6 +2337,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2244\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2394\Mappings.hbm.xml" /> <EmbeddedResource Include="DynamicEntity\Interceptor\Customer.hbm.xml" /> <EmbeddedResource Include="Any\Person.hbm.xml" /> @@ -2711,8 +2715,6 @@ <EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" /> </ItemGroup> <ItemGroup> - <Folder Include="NHSpecificTest\NH2392" /> - <Folder Include="NHSpecificTest\NH2409" /> <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. |
From: <fab...@us...> - 2010-12-12 20:02:19
|
Revision: 5313 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5313&view=rev Author: fabiomaulo Date: 2010-12-12 20:02:13 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Test for NH-2341 (Cannot Reproduce) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,16 @@ +namespace NHibernate.Test.NHSpecificTest.NH2341 +{ + public abstract class AbstractBA + { + public virtual int Id { get; set; } + } + public class ConcreteBA : AbstractBA + { + } + public class ConcreteA : ConcreteBA + { + } + public class ConcreteB : ConcreteBA + { + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,26 @@ +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2341 +{ + public class Fixture: BugTestCase + { + [Test] + public void WhenSaveInstanceOfConcreteInheritedThenNotThrows() + { + using(var session = OpenSession()) + using (var tx = session.BeginTransaction()) + { + var entity = new ConcreteB(); + session.Executing(s=> s.Save(entity)).NotThrows(); + tx.Commit(); + } + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + s.CreateQuery("delete from AbstractBA").ExecuteUpdate(); + tx.Commit(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2341"> + + <class name="AbstractBA" abstract="true"> + <id name="Id"> + <generator class="increment" /> + </id> + <union-subclass name="ConcreteBA"> + <union-subclass name="ConcreteA" /> + <union-subclass name="ConcreteB" /> + </union-subclass> + </class> +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 15:48:03 UTC (rev 5312) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 20:02:13 UTC (rev 5313) @@ -517,6 +517,8 @@ <Compile Include="NHSpecificTest\NH2331\MemberGroup.cs" /> <Compile Include="NHSpecificTest\NH2331\Nh2331Test.cs" /> <Compile Include="NHSpecificTest\NH2331\Person.cs" /> + <Compile Include="NHSpecificTest\NH2341\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2341\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="NHSpecificTest\NH2361\Fixture.cs" /> @@ -2358,6 +2360,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2341\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2228\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2386\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\Properties\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 16:17:55
|
Revision: 5327 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5327&view=rev Author: fabiomaulo Date: 2010-12-18 16:17:48 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Tests for NH-2362 (not fixed yet) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,8 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Category + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,39 @@ +using System.Linq; +using NUnit.Framework; +using NHibernate.Linq; + +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + [Ignore("Not fixed yet.")] + public class Fixture : BugTestCase + { + [Test] + public void CanParseMultipleGroupByAndSelect() + { + using (var session = OpenSession()) + { + (from p + in session.Query<Product>() + group p by new { CategoryId = p.Category.Id, SupplierId = p.Supplier.Id } + into g + let totalPrice = g.Sum(p => p.Price) + select new { g.Key.CategoryId, g.Key.SupplierId, TotalPrice = totalPrice }).ToList(); + + } + } + + [Test] + public void CanParseMultipleGroupBy() + { + using (var session = OpenSession()) + { + (from p + in session.Query<Product>() + group p by new {CategoryId = p.Category.Id, SupplierId = p.Supplier.Id} + into g + let totalPrice = g.Sum(p => p.Price) + select totalPrice).ToList(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2362"> + + <class name="Category" table="Category"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + </class> + <class name="Product" table="Product"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + <property name="Price" column="Price" type="decimal" /> + <many-to-one name="Category" column="CategoryId"/> + <many-to-one name="Supplier" column="SupplierId"/> + </class> + <class name="Supplier" table="Supplier"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + </class> + +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,11 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Product + { + public virtual int Id { get; set; } + public virtual Category Category { get; set; } + public virtual Supplier Supplier { get; set; } + public virtual string Name { get; set; } + public virtual decimal Price { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,8 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Supplier + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:03:32 UTC (rev 5326) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:17:48 UTC (rev 5327) @@ -537,6 +537,10 @@ <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="NHSpecificTest\NH2361\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2362\Category.cs" /> + <Compile Include="NHSpecificTest\NH2362\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2362\Product.cs" /> + <Compile Include="NHSpecificTest\NH2362\Supplier.cs" /> <Compile Include="NHSpecificTest\NH2374\NH2374Fixture.cs" /> <Compile Include="NHSpecificTest\NH2378\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2378\TestEntity.cs" /> @@ -2353,6 +2357,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2244\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2394\Mappings.hbm.xml" /> <EmbeddedResource Include="DynamicEntity\Interceptor\Customer.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 16:26:53
|
Revision: 5328 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5328&view=rev Author: fabiomaulo Date: 2010-12-18 16:26:47 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Test for NH-2118 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs 2010-12-18 16:26:47 UTC (rev 5328) @@ -0,0 +1,56 @@ +using System.Linq; +using NHibernate.Linq; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2118 +{ + public class Person + { + public virtual int Id { get; set; } + public virtual string FirstName { get; set; } + public virtual string LastName { get; set; } + } + + [TestFixture] + [Ignore("Not fixed yet.")] + public class Fixture : BugTestCase + { + protected override void OnSetUp() + { + base.OnSetUp(); + + using(var s = sessions.OpenStatelessSession()) + using(var tx = s.BeginTransaction()) + { + s.Insert(new Person {FirstName = "Bart", LastName = "Simpson"}); + s.Insert(new Person { FirstName = "Homer", LastName = "Simpson" }); + s.Insert(new Person { FirstName = "Apu", LastName = "Nahasapeemapetilon" }); + s.Insert(new Person { FirstName = "Montgomery ", LastName = "Burns" }); + tx.Commit(); + } + } + + [Test] + public void CanGroupByWithoutSelect() + { + using(var s = sessions.OpenSession()) + using (s.BeginTransaction()) + { + var groups = s.Query<Person>().GroupBy(p => p.LastName).ToList(); + + Assert.AreEqual(3, groups.Count); + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + using(var s = sessions.OpenStatelessSession()) + using (var tx = s.BeginTransaction()) + { + s.CreateQuery("delete from Person").ExecuteUpdate(); + tx.Commit(); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml 2010-12-18 16:26:47 UTC (rev 5328) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2118"> + + <class name="Person"> + <id name="Id"> + <generator class="increment" /> + </id> + <property name="FirstName"/> + <property name="LastName" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:17:48 UTC (rev 5327) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:26:47 UTC (rev 5328) @@ -480,6 +480,7 @@ <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Model.cs" /> + <Compile Include="NHSpecificTest\NH2118\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2138\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2147\DefaultBatchSize.cs" /> <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> @@ -2357,6 +2358,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2118\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2244\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2394\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-19 14:42:05
|
Revision: 5330 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5330&view=rev Author: fabiomaulo Date: 2010-12-19 14:41:59 +0000 (Sun, 19 Dec 2010) Log Message: ----------- Test for NH-2043 (the test pass but with don't have a specific test for this usecase so..) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Domain.cs 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,26 @@ +namespace NHibernate.Test.NHSpecificTest.NH2043 +{ + public class A + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + + public virtual B B { get; set; } + } + + public class AImpl : A + { + } + + public class B + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + + public virtual A A { get; set; } + } + + public class BImpl : B + { + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Fixture.cs 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,52 @@ +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2043 +{ + [TestFixture] + public class Fixture : BugTestCase + { + public class Namer : EmptyInterceptor + { + public override string GetEntityName(object entity) + { + if (entity.GetType().Name.EndsWith("Impl")) + return entity.GetType().BaseType.FullName; + + return base.GetEntityName(entity); + } + } + + protected override void BuildSessionFactory() + { + cfg.SetInterceptor(new Namer()); + base.BuildSessionFactory(); + } + + [Test] + public void Test() + { + try + { + using (ISession s = OpenSession()) + { + var a = new AImpl {Id = 1, Name = "A1"}; + var b = new BImpl {Id = 1, Name = "B1", A = a }; + a.B = b; + + s.Save(a); + s.Save(b); + s.Flush(); + } + } + finally + { + using (ISession s = OpenSession()) + { + s.Delete("from B"); + s.Delete("from A"); + s.Flush(); + } + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2043/Mappings.hbm.xml 2010-12-19 14:41:59 UTC (rev 5330) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH2043" + assembly="NHibernate.Test"> + + <class name="A"> + <id name="Id"> + <generator class="identity" /> + </id> + <property name="Name" /> + <one-to-one class="B" name="B" /> + </class> + + <class name="B"> + <id name="Id"> + <generator class="foreign"> + <param name="property">A</param> + </generator> + </id> + <property name="Name" /> + <one-to-one class="A" name="A" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 22:29:06 UTC (rev 5329) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-19 14:41:59 UTC (rev 5330) @@ -478,6 +478,8 @@ <Compile Include="NHSpecificTest\NH1869\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2037\Domain.cs" /> <Compile Include="NHSpecificTest\NH2037\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2043\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2043\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2111\A.cs" /> <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> @@ -2360,6 +2362,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2043\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2037\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2118\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-19 16:52:10
|
Revision: 5331 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5331&view=rev Author: fabiomaulo Date: 2010-12-19 16:52:03 +0000 (Sun, 19 Dec 2010) Log Message: ----------- Test for NH-2056 (work with MsSQL have to check Oracle) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Fixture.cs 2010-12-19 16:52:03 UTC (rev 5331) @@ -0,0 +1,69 @@ +using System.Collections; +using System.Collections.Generic; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2056 +{ + public class Fixture:BugTestCase + { + [Test] + public void CanUpdateInheritedClass() + { + object savedId; + using (ISession session = sessions.OpenSession()) + { + using (ITransaction t = session.BeginTransaction()) + { + IDictionary address = new Dictionary<string, object>(); + address["BaseF1"] = "base1"; + address["BaseF2"] = "base2"; + address["AddressF1"] = "addressF1"; + address["AddressF2"] = "addressF2"; + savedId = session.Save("Address", address); + t.Commit(); + } + } + + using (ISession session = sessions.OpenSession()) + { + using (ITransaction t = session.BeginTransaction()) + { + + IQuery query = session.CreateQuery("Update Address address set address.AddressF1 = :val1, address.AddressF2 = :val2 where ID=:theID"); + + // The following works properly + //IQuery query = session.CreateQuery("Update Address address set address.AddressF1 = :val1, address.BaseF1 = :val2 where ID=:theID"); + query.SetParameter("val1", "foo"); + query.SetParameter("val2", "bar"); + query.SetParameter("theID", savedId); + query.ExecuteUpdate(); + + t.Commit(); + } + } + using (ISession session = sessions.OpenSession()) + { + using (ITransaction t = session.BeginTransaction()) + { + + var updated = (IDictionary)session.Get("Address", savedId); + updated["BaseF1"].Should().Be("base1"); + updated["BaseF2"].Should().Be("base2"); + updated["AddressF1"].Should().Be("foo"); + updated["AddressF2"].Should().Be("bar"); + + t.Commit(); + } + } + using (ISession session = sessions.OpenSession()) + { + using (ITransaction t = session.BeginTransaction()) + { + session.CreateQuery("delete from Base").ExecuteUpdate(); + t.Commit(); + } + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2056/Mappings.hbm.xml 2010-12-19 16:52:03 UTC (rev 5331) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2056"> + + <class entity-name="Base" table="tbl_base"> + <id name="ID" type="long"> + <generator class="hilo" /> + </id> + <property name="BaseF1" type="string"/> + <property name="BaseF2" type="string"/> + </class> + <joined-subclass entity-name="Address" extends="Base"> + <key column="ID2"/> + <property name="AddressF1" type="string"/> + <property name="AddressF2" type="string"/> + </joined-subclass> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-19 14:41:59 UTC (rev 5330) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-19 16:52:03 UTC (rev 5331) @@ -480,6 +480,7 @@ <Compile Include="NHSpecificTest\NH2037\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2043\Domain.cs" /> <Compile Include="NHSpecificTest\NH2043\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2056\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2111\A.cs" /> <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> @@ -2362,6 +2363,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2056\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2043\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2037\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2118\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-24 20:24:50
|
Revision: 5335 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5335&view=rev Author: fabiomaulo Date: 2010-12-24 20:24:43 +0000 (Fri, 24 Dec 2010) Log Message: ----------- Test for NH-2470 (does not fail) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Classes.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2DTOs.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Tests.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DTO.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DomainObject.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Classes.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Classes.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Classes.cs 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; + +namespace NHibernate.Test.NHSpecificTest.NH2470 +{ + public class Class1 : DomainObject + { + private IList<Class2> _class2List = new List<Class2>(); + + public virtual void AddClass2(Class2 toAdd) + { + if (false == _class2List.Contains(toAdd)) + { + _class2List.Add(toAdd); + toAdd.AddClass1(this); + } + } + + public virtual ReadOnlyCollection<Class2> Class2List + { + get { return new ReadOnlyCollection<Class2>(_class2List); } + } + } + + public class Class2 : DomainObject + { + private IList<Class1> _class1List = new List<Class1>(); + + public virtual void AddClass1(Class1 toAdd) + { + if (false == _class1List.Contains(toAdd)) + { + _class1List.Add(toAdd); + toAdd.AddClass2(this); + } + } + + public virtual ReadOnlyCollection<Class1> Class1List + { + get { return new ReadOnlyCollection<Class1>(_class1List); } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2DTOs.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2DTOs.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2DTOs.cs 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,9 @@ +namespace NHibernate.Test.NHSpecificTest.NH2470 +{ + public class Class2DTO : DTO { } + + public class Class1DTO : DTO + { + public Class2DTO[] Class2Ary { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Tests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Tests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Class1Class2Tests.cs 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,286 @@ +using System; +using System.Linq; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2470 +{ + [TestFixture] + public class Class1_Class2_Tests : BugTestCase + { + public void Clean() + { + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + s.Delete("from Class1"); + s.Delete("from Class2"); + tx.Commit(); + } + } + } + + [Test] + public void Test0() + { + Class1 c1; + Class2 c2; + Class1DTO class1dto; + + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + s.Save(c1); + + class1dto = new Class1DTO {ID = c1.ID, EntityVersion = c1.EntityVersion}; + + class1dto.Class2Ary = c1.Class2List.Select(cl2 => new Class2DTO {ID = cl2.ID, EntityVersion = cl2.EntityVersion}).ToArray(); + + tx.Commit(); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(1, class1dto.EntityVersion); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(1, class1dto.EntityVersion); + Clean(); + } + + [Test] + public void Test1() + { + Class1 c1; + Class2 c2; + Class1DTO dto; + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + s.Save(c1); + + tx.Commit(); + } + + using (ITransaction tx = s.BeginTransaction()) + { + // NH-2470 If inverse="true" in Class1.hbm.xml you must add the next line to prevent erroneous version increment + // s.Refresh(c1, LockMode.None); + dto = new Class1DTO {ID = c1.ID, EntityVersion = c1.EntityVersion}; + tx.Commit(); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(1, dto.EntityVersion); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(1, dto.EntityVersion); + Clean(); + } + + [Test] + public void Test2() + { + Class1 c1; + Class2 c2; + Class1DTO dto; + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + + s.Save(c1); + + dto = new Class1DTO {ID = c1.ID, EntityVersion = c1.EntityVersion}; + + tx.Commit(); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(c1.ID, dto.ID); + Assert.AreEqual(1, dto.EntityVersion); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Assert.AreEqual(c1.ID, dto.ID); + Assert.AreEqual(1, dto.EntityVersion); + Clean(); + } + + [Test] + public void Test3() + { + Class1 c1; + Class2 c2; + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + s.Save(c1); + + tx.Commit(); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + + using (ITransaction tx = s.BeginTransaction()) + { + // NH-2470 If inverse="true" in Class1.hbm.xml you must add the next line to prevent erroneous version increment + // s.Refresh(c1, LockMode.None); + var class1dto = new Class1DTO {ID = c1.ID, EntityVersion = c1.EntityVersion}; + class1dto.Class2Ary = c1.Class2List.Select(cl2 => new Class2DTO {ID = cl2.ID, EntityVersion = cl2.EntityVersion}).ToArray(); + tx.Commit(); + } + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + } + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + Clean(); + } + + [Test] + public void Test4() + { + Guid c1id; + int c1ev, c2ev; + Class1DTO class1dto; + using (ISession s = OpenSession()) + { + Class1 c1; + using (ITransaction tx = s.BeginTransaction()) + { + Class2 c2; + + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + + s.Save(c1); + + tx.Commit(); + + c1id = c1.ID; + c1ev = c1.EntityVersion; + c2ev = c2.EntityVersion; + } + + Assert.AreEqual(1, c1ev); + Assert.AreEqual(1, c2ev); + + using (ITransaction tx = s.BeginTransaction()) + { + // NH-2470 If inverse="true" in Class1.hbm.xml you must add the next line to prevent erroneous version increment + // s.Refresh(c1); + class1dto = new Class1DTO {ID = c1.ID, EntityVersion = c1.EntityVersion}; + class1dto.Class2Ary = c1.Class2List.Select(cl2 => new Class2DTO {ID = cl2.ID, EntityVersion = cl2.EntityVersion}).ToArray(); + tx.Commit(); + c1ev = c1.EntityVersion; + Assert.AreEqual(1, c1ev); + } + Assert.AreEqual(1, c1.EntityVersion); + } + + Assert.AreEqual(1, c1ev); + Assert.AreEqual(1, class1dto.EntityVersion); + Assert.IsTrue(class1dto.Class2Ary.All(cl2 => cl2.EntityVersion == 1)); + + Class1 cl1; + using (ISession s = OpenSession()) + { + cl1 = s.Get<Class1>(c1id); + } + Assert.AreEqual(1, cl1.EntityVersion); + Clean(); + } + + [Test] + public void Test5() + { + Guid c1id; + using (ISession s = OpenSession()) + { + Class1 c1; + Class2 c2; + + using (ITransaction tx = s.BeginTransaction()) + { + c1 = new Class1(); + c2 = new Class2(); + + c1.AddClass2(c2); + + s.Save(c2); + + s.Save(c1); + + tx.Commit(); + } + + Assert.AreEqual(1, c1.EntityVersion); + Assert.AreEqual(1, c2.EntityVersion); + + c1id = c1.ID; + } + + // NH-2470 Since we're using a totally separate session, this test always passes. + Class1 cl1; + Class1DTO class1dto; + using (ISession s = OpenSession()) + { + using (ITransaction tx = s.BeginTransaction()) + { + cl1 = s.Get<Class1>(c1id); + + class1dto = new Class1DTO {ID = cl1.ID, EntityVersion = cl1.EntityVersion}; + class1dto.Class2Ary = cl1.Class2List.Select(cl2 => new Class2DTO {ID = cl2.ID, EntityVersion = cl2.EntityVersion}).ToArray(); + + tx.Commit(); + } + + Assert.AreEqual(1, cl1.EntityVersion); + } + + Assert.AreEqual(1, cl1.EntityVersion); + Assert.IsTrue(class1dto.Class2Ary.All(cl2 => cl2.EntityVersion == 1)); + Clean(); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DTO.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DTO.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DTO.cs 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,10 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2470 +{ + public abstract class DTO + { + public Guid ID; + public int EntityVersion; + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DomainObject.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DomainObject.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/DomainObject.cs 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,10 @@ +using System; + +namespace NHibernate.Test.NHSpecificTest.NH2470 +{ + public abstract class DomainObject + { + public virtual Guid ID { get; set; } + public virtual int EntityVersion { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2470/Mappings.hbm.xml 2010-12-24 20:24:43 UTC (rev 5335) @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2470"> + + <class name="Class1"> + + <id name="ID"> + <generator class="guid.comb"/> + </id> + + <version name="EntityVersion"/> + + <!-- NH2470 - I used to have inverse="true" here --> + <idbag name="Class2List" table="Class1_Class2" access="field.camelcase-underscore"> + <collection-id column="ID" type="Guid"> + <generator class="guid.comb" /> + </collection-id> + <key column="Class1ID" foreign-key="FK_Class2_Class1" /> + <many-to-many class="Class2" column="Class2ID" foreign-key="FK_Class1_Class2" /> + </idbag> + + </class> + <class name="Class2"> + + <id name="ID"> + <generator class="guid.comb"/> + </id> + + <version name="EntityVersion"/> + + <idbag name="Class1List" table="Class1_Class2" access="field.camelcase-underscore"> + <collection-id column="ID" type="Guid"> + <generator class="guid.comb" /> + </collection-id> + <key column="Class2ID" foreign-key="FK_Class1_Class2" /> + <many-to-many class="Class1" column="Class1ID" foreign-key="FK_Class2_Class1" /> + </idbag> + + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-22 17:30:48 UTC (rev 5334) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-24 20:24:43 UTC (rev 5335) @@ -574,6 +574,11 @@ <Compile Include="NHSpecificTest\NH2420\MyTable.cs" /> <Compile Include="NHSpecificTest\NH2441\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2441\Model.cs" /> + <Compile Include="NHSpecificTest\NH2470\Class1Class2Classes.cs" /> + <Compile Include="NHSpecificTest\NH2470\Class1Class2DTOs.cs" /> + <Compile Include="NHSpecificTest\NH2470\Class1Class2Tests.cs" /> + <Compile Include="NHSpecificTest\NH2470\DomainObject.cs" /> + <Compile Include="NHSpecificTest\NH2470\DTO.cs" /> <Compile Include="NHSpecificTest\Properties\CompositePropertyRefTest.cs" /> <Compile Include="NHSpecificTest\Properties\DynamicEntityTest.cs" /> <Compile Include="NHSpecificTest\Properties\Model.cs" /> @@ -2363,6 +2368,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2470\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2056\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2043\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2037\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-01-16 02:49:55
|
Revision: 5352 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5352&view=rev Author: patearl Date: 2011-01-16 02:49:49 +0000 (Sun, 16 Jan 2011) Log Message: ----------- Linq: Added a passing test for a simple Any() call. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs Added: trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs 2011-01-16 02:49:49 UTC (rev 5352) @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NUnit.Framework; + +namespace NHibernate.Test.Linq +{ + [TestFixture] + public class AnyTests : LinqTestCase + { + [Test] + public void AnySublist() + { + var orders = db.Orders.Where(o => o.OrderLines.Any(ol => ol.Quantity == 5)).ToList(); + Assert.AreEqual(61, orders.Count); + } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-01-15 17:51:33 UTC (rev 5351) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-01-16 02:49:49 UTC (rev 5352) @@ -423,6 +423,7 @@ <Compile Include="LazyProperty\Book.cs" /> <Compile Include="LazyProperty\LazyPropertyFixture.cs" /> <Compile Include="Linq\AggregateTests.cs" /> + <Compile Include="Linq\AnyTests.cs" /> <Compile Include="Linq\BinaryBooleanExpressionTests.cs" /> <Compile Include="Linq\BinaryExpressionOrdererTests.cs" /> <Compile Include="Linq\BooleanMethodExtensionExample.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-01-16 20:48:58
|
Revision: 5353 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5353&view=rev Author: patearl Date: 2011-01-16 20:48:51 +0000 (Sun, 16 Jan 2011) Log Message: ----------- Moved Linq tests that examine specific methods into subfolder. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/ trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/AnyTests.cs trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/OrderByTests.cs trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/SumTests.cs Removed Paths: ------------- trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs trunk/nhibernate/src/NHibernate.Test/Linq/OrderByTests.cs trunk/nhibernate/src/NHibernate.Test/Linq/SumTests.cs Deleted: trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs 2011-01-16 02:49:49 UTC (rev 5352) +++ trunk/nhibernate/src/NHibernate.Test/Linq/AnyTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using NUnit.Framework; - -namespace NHibernate.Test.Linq -{ - [TestFixture] - public class AnyTests : LinqTestCase - { - [Test] - public void AnySublist() - { - var orders = db.Orders.Where(o => o.OrderLines.Any(ol => ol.Quantity == 5)).ToList(); - Assert.AreEqual(61, orders.Count); - } - } -} Added: trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/AnyTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/AnyTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/AnyTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NUnit.Framework; + +namespace NHibernate.Test.Linq.ByMethod +{ + [TestFixture] + public class AnyTests : LinqTestCase + { + [Test] + public void AnySublist() + { + var orders = db.Orders.Where(o => o.OrderLines.Any(ol => ol.Quantity == 5)).ToList(); + Assert.AreEqual(61, orders.Count); + } + } +} Copied: trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/OrderByTests.cs (from rev 5344, trunk/nhibernate/src/NHibernate.Test/Linq/OrderByTests.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/OrderByTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/OrderByTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -0,0 +1,119 @@ +using System.Linq; +using NUnit.Framework; + +namespace NHibernate.Test.Linq.ByMethod +{ + [TestFixture] + public class OrderByTests : LinqTestCase + { + [Test] + public void AscendingOrderByClause() + { + var query = from c in db.Customers + orderby c.CustomerId + select c.CustomerId; + + var ids = query.ToList(); + + if (ids.Count > 1) + { + Assert.Greater(ids[1], ids[0]); + } + } + + [Test] + public void DescendingOrderByClause() + { + var query = from c in db.Customers + orderby c.CustomerId descending + select c.CustomerId; + + var ids = query.ToList(); + + if (ids.Count > 1) + { + Assert.Greater(ids[0], ids[1]); + } + } + + [Test] + [Ignore("NHibernate does not currently support subqueries in select clause (no way to specify a projection from a detached criteria).")] + public void AggregateAscendingOrderByClause() + { + var query = from c in db.Customers + orderby c.Orders.Count + select c; + + var customers = query.ToList(); + + if (customers.Count > 1) + { + Assert.Less(customers[0].Orders.Count, customers[1].Orders.Count); + } + } + + [Test] + [Ignore("NHibernate does not currently support subqueries in select clause (no way to specify a projection from a detached criteria).")] + public void AggregateDescendingOrderByClause() + { + var query = from c in db.Customers + orderby c.Orders.Count descending + select c; + + var customers = query.ToList(); + + if (customers.Count > 1) + { + Assert.Greater(customers[0].Orders.Count, customers[1].Orders.Count); + } + } + + [Test] + public void ComplexAscendingOrderByClause() + { + var query = from c in db.Customers + where c.Address.Country == "Belgium" + orderby c.Address.Country, c.Address.City + select c.Address.City; + + var ids = query.ToList(); + + if (ids.Count > 1) + { + Assert.Greater(ids[1], ids[0]); + } + } + + [Test] + public void ComplexDescendingOrderByClause() + { + var query = from c in db.Customers + where c.Address.Country == "Belgium" + orderby c.Address.Country descending, c.Address.City descending + select c.Address.City; + + var ids = query.ToList(); + + if (ids.Count > 1) + { + Assert.Greater(ids[0], ids[1]); + } + } + + [Test] + public void ComplexAscendingDescendingOrderByClause() + { + var query = from c in db.Customers + where c.Address.Country == "Belgium" + orderby c.Address.Country ascending, c.Address.City descending + select c.Address.City; + + var ids = query.ToList(); + + if (ids.Count > 1) + { + Assert.Greater(ids[0], ids[1]); + } + } + } +} \ No newline at end of file Copied: trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/SumTests.cs (from rev 5344, trunk/nhibernate/src/NHibernate.Test/Linq/SumTests.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/SumTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/ByMethod/SumTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NUnit.Framework; + +namespace NHibernate.Test.Linq.ByMethod +{ + [TestFixture] + public class SumTests : LinqTestCase + { + [Test] + [ExpectedException] + public void EmptySumDecimal() + { + db.OrderLines.Where(ol => false).Sum(ol => ol.Discount); + } + + [Test] + public void EmptySumCastNullableDecimal() + { + decimal total = db.OrderLines.Where(ol => false).Sum(ol => (decimal?)ol.Discount) ?? 0; + Assert.AreEqual(0, total); + } + + [Test] + public void SumDecimal() + { + decimal total = db.OrderLines.Sum(ol => ol.Discount); + Assert.Greater(total, 0); + } + + [Test] + public void EmptySumNullableDecimal() + { + decimal total = db.Orders.Where(ol => false).Sum(ol => ol.Freight) ?? 0; + Assert.AreEqual(0, total); + } + + [Test] + public void SumNullableDecimal() + { + decimal? total = db.Orders.Sum(ol => ol.Freight); + Assert.Greater(total, 0); + } + } +} Deleted: trunk/nhibernate/src/NHibernate.Test/Linq/OrderByTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/OrderByTests.cs 2011-01-16 02:49:49 UTC (rev 5352) +++ trunk/nhibernate/src/NHibernate.Test/Linq/OrderByTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -1,119 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace NHibernate.Test.Linq -{ - [TestFixture] - public class OrderByTests : LinqTestCase - { - [Test] - public void AscendingOrderByClause() - { - var query = from c in db.Customers - orderby c.CustomerId - select c.CustomerId; - - var ids = query.ToList(); - - if (ids.Count > 1) - { - Assert.Greater(ids[1], ids[0]); - } - } - - [Test] - public void DescendingOrderByClause() - { - var query = from c in db.Customers - orderby c.CustomerId descending - select c.CustomerId; - - var ids = query.ToList(); - - if (ids.Count > 1) - { - Assert.Greater(ids[0], ids[1]); - } - } - - [Test] - [Ignore("NHibernate does not currently support subqueries in select clause (no way to specify a projection from a detached criteria).")] - public void AggregateAscendingOrderByClause() - { - var query = from c in db.Customers - orderby c.Orders.Count - select c; - - var customers = query.ToList(); - - if (customers.Count > 1) - { - Assert.Less(customers[0].Orders.Count, customers[1].Orders.Count); - } - } - - [Test] - [Ignore("NHibernate does not currently support subqueries in select clause (no way to specify a projection from a detached criteria).")] - public void AggregateDescendingOrderByClause() - { - var query = from c in db.Customers - orderby c.Orders.Count descending - select c; - - var customers = query.ToList(); - - if (customers.Count > 1) - { - Assert.Greater(customers[0].Orders.Count, customers[1].Orders.Count); - } - } - - [Test] - public void ComplexAscendingOrderByClause() - { - var query = from c in db.Customers - where c.Address.Country == "Belgium" - orderby c.Address.Country, c.Address.City - select c.Address.City; - - var ids = query.ToList(); - - if (ids.Count > 1) - { - Assert.Greater(ids[1], ids[0]); - } - } - - [Test] - public void ComplexDescendingOrderByClause() - { - var query = from c in db.Customers - where c.Address.Country == "Belgium" - orderby c.Address.Country descending, c.Address.City descending - select c.Address.City; - - var ids = query.ToList(); - - if (ids.Count > 1) - { - Assert.Greater(ids[0], ids[1]); - } - } - - [Test] - public void ComplexAscendingDescendingOrderByClause() - { - var query = from c in db.Customers - where c.Address.Country == "Belgium" - orderby c.Address.Country ascending, c.Address.City descending - select c.Address.City; - - var ids = query.ToList(); - - if (ids.Count > 1) - { - Assert.Greater(ids[0], ids[1]); - } - } - } -} \ No newline at end of file Deleted: trunk/nhibernate/src/NHibernate.Test/Linq/SumTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/SumTests.cs 2011-01-16 02:49:49 UTC (rev 5352) +++ trunk/nhibernate/src/NHibernate.Test/Linq/SumTests.cs 2011-01-16 20:48:51 UTC (rev 5353) @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using NUnit.Framework; - -namespace NHibernate.Test.Linq -{ - [TestFixture] - public class SumTests : LinqTestCase - { - [Test] - [ExpectedException] - public void EmptySumDecimal() - { - db.OrderLines.Where(ol => false).Sum(ol => ol.Discount); - } - - [Test] - public void EmptySumCastNullableDecimal() - { - decimal total = db.OrderLines.Where(ol => false).Sum(ol => (decimal?)ol.Discount) ?? 0; - Assert.AreEqual(0, total); - } - - [Test] - public void SumDecimal() - { - decimal total = db.OrderLines.Sum(ol => ol.Discount); - Assert.Greater(total, 0); - } - - [Test] - public void EmptySumNullableDecimal() - { - decimal total = db.Orders.Where(ol => false).Sum(ol => ol.Freight) ?? 0; - Assert.AreEqual(0, total); - } - - [Test] - public void SumNullableDecimal() - { - decimal? total = db.Orders.Sum(ol => ol.Freight); - Assert.Greater(total, 0); - } - } -} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-01-16 02:49:49 UTC (rev 5352) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-01-16 20:48:51 UTC (rev 5353) @@ -423,7 +423,7 @@ <Compile Include="LazyProperty\Book.cs" /> <Compile Include="LazyProperty\LazyPropertyFixture.cs" /> <Compile Include="Linq\AggregateTests.cs" /> - <Compile Include="Linq\AnyTests.cs" /> + <Compile Include="Linq\ByMethod\AnyTests.cs" /> <Compile Include="Linq\BinaryBooleanExpressionTests.cs" /> <Compile Include="Linq\BinaryExpressionOrdererTests.cs" /> <Compile Include="Linq\BooleanMethodExtensionExample.cs" /> @@ -445,7 +445,7 @@ <Compile Include="Linq\NorthwindDbCreator.cs" /> <Compile Include="Linq\NullComparisonTests.cs" /> <Compile Include="Linq\ObjectDumper.cs" /> - <Compile Include="Linq\OrderByTests.cs" /> + <Compile Include="Linq\ByMethod\OrderByTests.cs" /> <Compile Include="Linq\PagingTests.cs" /> <Compile Include="Linq\ParameterisedQueries.cs" /> <Compile Include="Linq\PatientTests.cs" /> @@ -455,7 +455,7 @@ <Compile Include="Linq\QueryReuseTests.cs" /> <Compile Include="Linq\ReadonlyTestCase.cs" /> <Compile Include="Linq\StatelessSessionQueringTest.cs" /> - <Compile Include="Linq\SumTests.cs" /> + <Compile Include="Linq\ByMethod\SumTests.cs" /> <Compile Include="Logging\Log4NetLoggerTest.cs" /> <Compile Include="Logging\LoggerProviderTest.cs" /> <Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Domain.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2011-01-26 15:02:56
|
Revision: 5371 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5371&view=rev Author: julian-maughan Date: 2011-01-26 15:02:50 +0000 (Wed, 26 Jan 2011) Log Message: ----------- Attempting to resolve test failures (in r5368 and r5369) by changing NHibernate.Test build script to include JPEG file types as resources. Currently only XML resources are included. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2484/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.build Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2484/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2484/Fixture.cs 2011-01-24 17:51:11 UTC (rev 5370) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2484/Fixture.cs 2011-01-26 15:02:50 UTC (rev 5371) @@ -7,7 +7,7 @@ namespace NHibernate.Test.NHSpecificTest.NH2484 { -[TestFixture] + [TestFixture] public class Fixture : BugTestCase { protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect) @@ -16,7 +16,6 @@ } [Test] - [Ignore("Unable to locate embedded image resource on TeamCity")] public void TestPersistenceOfClassWithUnknownSerializableType() { Assembly assembly = Assembly.Load(MappingsAssembly); @@ -49,7 +48,6 @@ } [Test] - [Ignore("Unable to locate embedded image resource on TeamCity")] public void TestPersistenceOfClassWithSerializableType() { Assembly assembly = Assembly.Load(MappingsAssembly); Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.build =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.build 2011-01-24 17:51:11 UTC (rev 5370) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.build 2011-01-26 15:02:50 UTC (rev 5371) @@ -1,8 +1,11 @@ <?xml version="1.0" ?> <project name="NHibernate.Test" default="build" xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"> + <property name="root.dir" value="../.." /> <property name="config.FileName" value="hibernate.cfg.xml" /> + <include buildfile="${root.dir}/build-common/common-project.xml" /> + <target name="init" depends="common.init"> <property name="assembly.description" value="The Unit Tests for NHibernate." /> <property name="assembly.is-cls-compliant" value="false" /> @@ -23,28 +26,32 @@ <include name="NHibernate.dll" /> <include name="LinFu.DynamicProxy.dll" /> <include name="nunit.framework.dll" /> - <include name="SharpTestsEx.NUnit.dll" /> - <include name="Antlr3.Runtime.dll" /> + <include name="SharpTestsEx.NUnit.dll" /> + <include name="Antlr3.Runtime.dll" /> <include name="System.Linq.Dynamic.dll" /> </assemblyfileset> <resourcefileset id="project.resources" prefix="NHibernate.Test" dynamicprefix="true"> <include name="**/*.xml" /> + <include name="**/*.jpg" /> <exclude name="bin/**/*.xml" /> </resourcefileset> </target> + <target name="generate-assemblyinfo" depends="init common.generate-assemblyinfo" /> + <target name="build" depends="init generate-assemblyinfo common.compile-tests"> - - <if test="${file::exists(config.FileName)}"> + <if test="${file::exists(config.FileName)}"> <copy file="hibernate.cfg.xml" tofile="${bin.dir}/hibernate.cfg.xml" /> </if> <copy file="TestEnbeddedConfig.cfg.xml" tofile="${bin.dir}/TestEnbeddedConfig.cfg.xml" /> - <copy todir="${bin.dir}/DbScripts"> - <fileset basedir="${root.dir}/src/NHibernate.Test/DbScripts"> - <include name="*.sql" /> - </fileset> - </copy> - <copy file="${root.dir}/src/NHibernate.DomainModel/ABC.hbm.xml" tofile="${bin.dir}/ABC.hbm.xml" /> + <copy todir="${bin.dir}/DbScripts"> + <fileset basedir="${root.dir}/src/NHibernate.Test/DbScripts"> + <include name="*.sql" /> + </fileset> + </copy> + <copy file="${root.dir}/src/NHibernate.DomainModel/ABC.hbm.xml" tofile="${bin.dir}/ABC.hbm.xml" /> </target> + <target name="test" depends="init build common.run-database-tests" /> -</project> + +</project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-03-06 03:58:28
|
Revision: 5429 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5429&view=rev Author: patearl Date: 2011-03-06 03:58:22 +0000 (Sun, 06 Mar 2011) Log Message: ----------- TestCase: Added convenience method for running a SQL statement. Join Tests: Prevent SQLite locking problems by reusing the same transaction. Fixed cleanup bug in join tests that started manifesting itself with a different id generation algorithm. Avoid dependence on cascade delete to clean up. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Join/JoinTest.cs trunk/nhibernate/src/NHibernate.Test/Join/Person.hbm.xml trunk/nhibernate/src/NHibernate.Test/TestCase.cs Modified: trunk/nhibernate/src/NHibernate.Test/Join/JoinTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Join/JoinTest.cs 2011-03-05 17:57:59 UTC (rev 5428) +++ trunk/nhibernate/src/NHibernate.Test/Join/JoinTest.cs 2011-03-06 03:58:22 UTC (rev 5429) @@ -133,7 +133,7 @@ s.Clear(); // Remove the optional row from the join table and requery the User obj - ExecuteStatement("delete from t_user"); + ExecuteStatement(s, tx, "delete from t_user"); s.Clear(); // Clean up the test data @@ -171,7 +171,7 @@ } } - private Person PreparePersonWithInverseJoin(ISession s, string name, string stuffName) + private Person PreparePersonWithInverseJoin(ISession s, ITransaction tx, string name, string stuffName) { Person p = CreatePerson(name); @@ -181,7 +181,7 @@ if (stuffName != null) { - int count = ExecuteStatement( + int count = ExecuteStatement(s, tx, string.Format("insert into inversed_stuff (stuff_id, StuffName) values ({0}, '{1}')", p.Id, stuffName)); Assert.AreEqual(1, count, "Insert statement failed."); @@ -197,12 +197,14 @@ using (ITransaction tx = s.BeginTransaction()) { string stuffName = "name of the stuff"; - Person p = PreparePersonWithInverseJoin(s, "John", stuffName); + Person p = PreparePersonWithInverseJoin(s, tx, "John", stuffName); Person result = (Person) s.Get(typeof (Person), p.Id); Assert.IsNotNull(result); Assert.AreEqual(stuffName, result.StuffName); + ExecuteStatement(s, tx, "delete from inversed_stuff"); + tx.Commit(); } } @@ -215,7 +217,7 @@ { string stuffName = "name of the stuff"; - Person p = PreparePersonWithInverseJoin(s, "John", stuffName); + Person p = PreparePersonWithInverseJoin(s, tx, "John", stuffName); Person personToUpdate = (Person) s.Get(typeof (Person), p.Id); Assert.IsNotNull(personToUpdate); @@ -227,6 +229,8 @@ Person loaded = (Person) s.Get(typeof (Person), p.Id); Assert.AreEqual(stuffName, loaded.StuffName, "StuffName should not have been updated"); + ExecuteStatement(s, tx, "delete from inversed_stuff"); + tx.Commit(); } } @@ -259,7 +263,7 @@ using (ITransaction tx = s.BeginTransaction()) { string stuffName = "stuff not deleted"; - Person p = PreparePersonWithInverseJoin(s, "John", stuffName); + Person p = PreparePersonWithInverseJoin(s, tx, "John", stuffName); long personId = p.Id; s.Delete(p); @@ -282,6 +286,8 @@ string retrievedStuffName = (string) cmd2.ExecuteScalar(); Assert.AreEqual(stuffName, retrievedStuffName, "Retrieved inverse <join> does not match"); + ExecuteStatement(s, tx, "delete from inversed_stuff"); + tx.Commit(); } } Modified: trunk/nhibernate/src/NHibernate.Test/Join/Person.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Join/Person.hbm.xml 2011-03-05 17:57:59 UTC (rev 5428) +++ trunk/nhibernate/src/NHibernate.Test/Join/Person.hbm.xml 2011-03-06 03:58:22 UTC (rev 5429) @@ -45,7 +45,7 @@ <property name="Salary"/> <many-to-one name="Manager"/> <bag name="Meetings" cascade="all" inverse="true" access="property"> - <key column="person_id" on-delete="cascade"/> + <key column="person_id"/> <one-to-many class="Meeting"/> </bag> </join> Modified: trunk/nhibernate/src/NHibernate.Test/TestCase.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2011-03-05 17:57:59 UTC (rev 5428) +++ trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2011-03-06 03:58:22 UTC (rev 5429) @@ -285,6 +285,17 @@ } } + public int ExecuteStatement(ISession session, ITransaction transaction, string sql) + { + using (IDbCommand cmd = session.Connection.CreateCommand()) + { + cmd.CommandText = sql; + if (transaction != null) + transaction.Enlist(cmd); + return cmd.ExecuteNonQuery(); + } + } + protected ISessionFactoryImplementor Sfi { get { return sessions; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-03-06 06:49:51
|
Revision: 5432 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5432&view=rev Author: patearl Date: 2011-03-06 06:49:45 +0000 (Sun, 06 Mar 2011) Log Message: ----------- NHibernate.Test: Added TestDialect to help unit test different databases. This is used for cases that don't need to be in the regular NHibernate Dialect, since NHibernate doesn't use that information itself. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/TestCase.cs Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs trunk/nhibernate/src/NHibernate.Test/TestDialects/ trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs Modified: trunk/nhibernate/src/NHibernate.Test/TestCase.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2011-03-06 04:49:38 UTC (rev 5431) +++ trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2011-03-06 06:49:45 UTC (rev 5432) @@ -29,6 +29,11 @@ get { return NHibernate.Dialect.Dialect.GetDialect(cfg.Properties); } } + protected TestDialect TestDialect + { + get { return TestDialect.GetTestDialect(Dialect); } + } + /// <summary> /// To use in in-line test /// </summary> Added: trunk/nhibernate/src/NHibernate.Test/TestDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-03-06 06:49:45 UTC (rev 5432) @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NHibernate.Test +{ + /// <summary> + /// Like NHibernate's Dialect class, but for differences only important during testing. + /// Defaults to true for all support. Users of different dialects can turn support + /// off if the unit tests fail. + /// </summary> + public class TestDialect + { + public static TestDialect GetTestDialect(Dialect.Dialect dialect) + { + string testDialectTypeName = "NHibernate.Test.TestDialects." + dialect.GetType().Name.Replace("Dialect", "TestDialect"); + System.Type testDialectType = System.Type.GetType(testDialectTypeName); + if (testDialectType != null) + return (TestDialect)Activator.CreateInstance(testDialectType); + return new TestDialect(); + } + + public virtual bool SupportsOperatorAll { get { return true; } } + } +} Added: trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs 2011-03-06 06:49:45 UTC (rev 5432) @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NHibernate.Test.TestDialects +{ + public class SQLiteTestDialect : TestDialect + { + public override bool SupportsOperatorAll + { + get { return false; } + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |