|
From: <te...@us...> - 2008-10-11 20:24:52
|
Revision: 3846
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3846&view=rev
Author: tehlike
Date: 2008-10-11 20:24:43 +0000 (Sat, 11 Oct 2008)
Log Message:
-----------
Adding test to see if Criteria supports Polymorphic queries(see if NH-1033 is an issue)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Animal.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Reptile.cs
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Animal.cs (from rev 3835, trunk/nhibernate/src/NHibernate.Test/Criteria/Animal.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Animal.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Animal.cs 2008-10-11 20:24:43 UTC (rev 3846)
@@ -0,0 +1,19 @@
+using System;
+namespace NHibernate.Test.NHSpecificTest.NH1033
+{
+ public class Animal
+ {
+ public virtual long Id
+ {
+ get;
+ set;
+ }
+
+ public virtual string SerialNumber
+ {
+ get;
+ set;
+ }
+
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Animal.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Fixture.cs 2008-10-11 20:24:43 UTC (rev 3846)
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using NHibernate.Criterion;
+using NUnit.Framework;
+using System.Collections;
+namespace NHibernate.Test.NHSpecificTest.NH1033
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ using(var session=OpenSession())
+ {
+ using (var tran = session.BeginTransaction())
+ {
+
+ var animal0 = new Animal();
+ var animal1 = new Reptile();
+
+ animal0.SerialNumber = "00001";
+
+ animal1.SerialNumber = "00002";
+ animal1.BodyTemperature = 34;
+
+ session.Save(animal0);
+ session.Save(animal1);
+ tran.Commit();
+ }
+ }
+ }
+ protected override void OnTearDown()
+ {
+ using (var session = OpenSession())
+ using (var tran = session.BeginTransaction())
+ {
+ session.Delete("from Animal");
+ session.Delete("from Reptile");
+ tran.Commit();
+ }
+ }
+
+ [Test]
+ public void CanUseClassConstraint()
+ {
+ using(ISession session=OpenSession())
+ {
+ var crit = session
+ .CreateCriteria(typeof (Animal), "a")
+ .Add(Property
+ .ForName("a.class")
+ .Eq(typeof(Animal)));
+ var results = crit.List<Animal>();
+ Assert.AreEqual(1,results.Count);
+ Assert.AreEqual(typeof(Animal), NHibernateUtil.GetClass(results[0]));
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Mappings.hbm.xml 2008-10-11 20:24:43 UTC (rev 3846)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1033">
+
+ <class name="Animal">
+ <id name="Id">
+ <generator class="native"/>
+ </id>
+ <property name="SerialNumber"/>
+
+ <joined-subclass name="Reptile">
+ <key column="animal"/>
+ <property name="BodyTemperature"/>
+ </joined-subclass>
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Reptile.cs (from rev 3835, trunk/nhibernate/src/NHibernate.Test/Criteria/Reptile.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Reptile.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Reptile.cs 2008-10-11 20:24:43 UTC (rev 3846)
@@ -0,0 +1,14 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH1033
+{
+ public class Reptile : Animal
+ {
+
+ public virtual float BodyTemperature
+ {
+ get;
+ set;
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1033/Reptile.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-11 19:17:21 UTC (rev 3845)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-11 20:24:43 UTC (rev 3846)
@@ -373,6 +373,9 @@
<Compile Include="NHSpecificTest\CollectionFixture.cs" />
<Compile Include="NHSpecificTest\CriteriaFromHql\Fixture.cs" />
<Compile Include="NHSpecificTest\CriteriaFromHql\Person.cs" />
+ <Compile Include="NHSpecificTest\NH1033\Animal.cs" />
+ <Compile Include="NHSpecificTest\NH1033\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1033\Reptile.cs" />
<Compile Include="NHSpecificTest\NH1077\A.cs" />
<Compile Include="NHSpecificTest\NH1077\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1098\FilterParameterOrderFixture.cs" />
@@ -1497,6 +1500,7 @@
<EmbeddedResource Include="Cascade\JobBatch.hbm.xml" />
<EmbeddedResource Include="Deletetransient\Person.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1033\Mappings.hbm.xml" />
<EmbeddedResource Include="EntityModeTest\Multi\Stock.hbm.xml" />
<EmbeddedResource Include="EntityModeTest\Multi\Valuation.hbm.xml" />
<EmbeddedResource Include="EntityModeTest\Xml\Many2One\Car.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|