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