From: <Ric...@us...> - 2009-06-23 20:40:42
|
Revision: 4521 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4521&view=rev Author: RicBrown Date: 2009-06-23 20:40:40 +0000 (Tue, 23 Jun 2009) Log Message: ----------- Added integration test to check lambda expressions through to the DB and back. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs 2009-06-23 20:40:40 UTC (rev 4521) @@ -0,0 +1,71 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +using NUnit.Framework; + +using NHibernate.Criterion; +using NHibernate.Transform; +using NHibernate.Type; +using NHibernate.Util; + +namespace NHibernate.Test.Criteria.Lambda +{ + + [TestFixture] + public class IntegrationFixture : TestCase + { + + protected override string MappingsAssembly { get { return "NHibernate.Test"; } } + + protected override IList Mappings + { + get + { + return new string[] + { + "Criteria.Lambda.Mappings.hbm.xml", + }; + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.CreateQuery("delete from Person").ExecuteUpdate(); + s.CreateQuery("delete from Child").ExecuteUpdate(); + t.Commit(); + } + } + + [Test] + public void ICriteria_SimpleCriterion() + { + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + s.Save(new Person() { Name = "test person 1" }); + s.Save(new Person() { Name = "test person 2" }); + s.Save(new Person() { Name = "test person 3" }); + + t.Commit(); + } + + using (ISession s = OpenSession()) + { + IList<Person> actual = + s.CreateCriteria(typeof(Person)) + .Add<Person>(p => p.Name == "test person 2") + .List<Person>(); + + Assert.That(actual.Count, Is.EqualTo(1)); + } + } + + } + +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml 2009-06-23 20:40:40 UTC (rev 4521) @@ -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.Criteria.Lambda"> + + <class name="Person"> + <id name="Id"> + <generator class="native"/> + </id> + <property name="Name" /> + </class> + + <class name="Child"> + <id name="Id"> + <generator class="native"/> + </id> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2009-06-23 20:20:18 UTC (rev 4520) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2009-06-23 20:40:40 UTC (rev 4521) @@ -7,11 +7,13 @@ public class Person { - public string Name { get; set; } + public virtual int Id { get; set; } + public virtual string Name { get; set; } } public class Child { + public virtual int Id { get; set; } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-23 20:20:18 UTC (rev 4520) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-23 20:40:40 UTC (rev 4521) @@ -145,6 +145,7 @@ <Compile Include="Criteria\Enrolment.cs" /> <Compile Include="Criteria\Lambda\CriteriaAssertFixture.cs" /> <Compile Include="Criteria\Lambda\CriteriaFixture.cs" /> + <Compile Include="Criteria\Lambda\IntegrationFixture.cs" /> <Compile Include="Criteria\Lambda\LambdaFixtureBase.cs" /> <Compile Include="Criteria\Lambda\Model.cs" /> <Compile Include="Criteria\MaterialResource.cs" /> @@ -1935,6 +1936,7 @@ <EmbeddedResource Include="Classic\EntityWithLifecycle.hbm.xml" /> <EmbeddedResource Include="Bytecode\Lightweight\ProductLine.hbm.xml" /> <EmbeddedResource Include="DriverTest\MultiTypeEntity.hbm.xml" /> + <EmbeddedResource Include="Criteria\Lambda\Mappings.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> <EmbeddedResource Include="NHSpecificTest\NH1850\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1192\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |