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