From: <te...@us...> - 2009-06-20 19:24:39
|
Revision: 4497 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4497&view=rev Author: tehlike Date: 2009-06-20 19:24:32 +0000 (Sat, 20 Jun 2009) Log Message: ----------- Adding tests to show NH-1734 is no longer an issue. Possibly fixed with new AST parser. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Product.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Fixture.cs 2009-06-20 19:24:32 UTC (rev 4497) @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH1734 +{ + [TestFixture] + public class Fixture:BugTestCase + { + protected override void OnSetUp() + { + using(var session=this.OpenSession()) + using(var tran=session.BeginTransaction()) + { + var product = new Product {Amount = 3, Price = 43.2}; + var product2 = new Product { Amount = 3, Price = 43.2 }; + session.Save(product); + session.Save(product2); + tran.Commit(); + } + } + protected override void OnTearDown() + { + using(var session=this.OpenSession()) + using (var tran = session.BeginTransaction()) + { + session.Delete("from Product"); + tran.Commit(); + } + } + + [Test] + public void ReturnsApropriateTypeWhenSumUsedWithSomeFormula() + { + using (var session = this.OpenSession()) + using (var tran = session.BeginTransaction()) + { + var query=session.CreateQuery("select sum(Amount*Price) from Product"); + var result=query.UniqueResult(); + Assert.That(result, Is.InstanceOf(typeof (double))); + Assert.That(result, Is.EqualTo(43.2*3*2)); + query = session.CreateQuery("select sum(Price*Amount) from Product"); + result = query.UniqueResult(); + Assert.That(result, Is.InstanceOf(typeof(double))); + Assert.That(result, Is.EqualTo(43.2 * 3 * 2)); + + query = session.CreateQuery("select sum(Price) from Product"); + result = query.UniqueResult(); + Assert.That(result, Is.InstanceOf(typeof(double))); + Assert.That(result, Is.EqualTo(43.2 * 2)); + + query = session.CreateQuery("select sum(Amount) from Product"); + result = query.UniqueResult(); + Assert.That(result, Is.InstanceOf(typeof(Int64))); + Assert.That(result, Is.EqualTo(6.0)); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Mappings.hbm.xml 2009-06-20 19:24:32 UTC (rev 4497) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.NHSpecificTest.NH1734" + assembly="NHibernate.Test"> + <class name="Product"> + <id name="Id"> + <generator class="native"/> + </id> + <property name="Price"/> + <property name="Amount" /> + </class> +</hibernate-mapping> Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Product.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Product.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1734/Product.cs 2009-06-20 19:24:32 UTC (rev 4497) @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH1734 +{ + public class Product + { + public virtual int Id { get; set; } + public virtual double Price { get; set; } + public virtual int Amount { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-20 18:40:44 UTC (rev 4496) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-20 19:24:32 UTC (rev 4497) @@ -457,6 +457,8 @@ <Compile Include="NHSpecificTest\NH1716\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1727\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1727\Model.cs" /> + <Compile Include="NHSpecificTest\NH1734\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH1734\Product.cs" /> <Compile Include="NHSpecificTest\NH1741\Domain.cs" /> <Compile Include="NHSpecificTest\NH1741\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1742\DomainClass.cs" /> @@ -1927,6 +1929,7 @@ <EmbeddedResource Include="Bytecode\Lightweight\ProductLine.hbm.xml" /> <EmbeddedResource Include="DriverTest\MultiTypeEntity.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH1734\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1097\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH473\Mappings.hbm.xml" /> <EmbeddedResource Include="VersionTest\Db\User.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |