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