|
From: <ric...@us...> - 2011-05-15 14:12:16
|
Revision: 5818
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5818&view=rev
Author: ricbrown
Date: 2011-05-15 14:12:10 +0000 (Sun, 15 May 2011)
Log Message:
-----------
NH-2683: Added integration test for extension .Year()
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs
trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs
Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs 2011-05-15 13:04:02 UTC (rev 5817)
+++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs 2011-05-15 14:12:10 UTC (rev 5818)
@@ -70,6 +70,19 @@
Assert.That(actual.Count, Is.EqualTo(1));
}
+
+ using (ISession s = OpenSession())
+ {
+ Person personAlias = null;
+
+ IList<Person> actual =
+ s.QueryOver<Person>(() => personAlias)
+ .Where(() => personAlias.Name == "test person 2")
+ .And(() => personAlias.Age == 30)
+ .List();
+
+ Assert.That(actual.Count, Is.EqualTo(1));
+ }
}
[Test]
@@ -416,12 +429,13 @@
Assert.That(simpleProjection.First().Name, Is.EqualTo("Name 1.1"));
Assert.That(simpleProjection.First().Age, Is.EqualTo(3));
+ Child childAlias = null;
var listProjection =
- s.QueryOver<Child>()
+ s.QueryOver<Child>(() => childAlias)
.JoinQueryOver(c => c.Parent)
.Where(p => p.Name == "Name 1" && p.Age == 33)
.SelectList(list => list
- .Select(c => c.Nickname)
+ .Select(c => childAlias.Nickname)
.Select(c => c.Age))
.List<object[]>()
.Select(props => new
@@ -554,6 +568,32 @@
}
[Test]
+ public void Functions()
+ {
+ using (ISession s = OpenSession())
+ using (ITransaction t = s.BeginTransaction())
+ {
+ s.Save(new Person() { Name = "p1", BirthDate = new DateTime(2009, 08, 07) });
+ s.Save(new Person() { Name = "p2", BirthDate = new DateTime(2008, 07, 06) });
+ s.Save(new Person() { Name = "p3", BirthDate = new DateTime(2007, 06, 05) });
+
+ t.Commit();
+ }
+
+ using (ISession s = OpenSession())
+ {
+ var persons =
+ s.QueryOver<Person>()
+ .Where(p => p.BirthDate.Year() == 2008)
+ .List();
+
+ persons.Count.Should().Be(1);
+ persons[0].Name.Should().Be("p2");
+ }
+
+ }
+
+ [Test]
public void MultiCriteria()
{
SetupPagingData();
Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml 2011-05-15 13:04:02 UTC (rev 5817)
+++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Mappings.hbm.xml 2011-05-15 14:12:10 UTC (rev 5818)
@@ -10,6 +10,7 @@
<discriminator type="string" />
<property name="Name" />
<property name="Age" />
+ <property name="BirthDate" />
<property name="Blood" />
<many-to-one name="Father" class="Person" />
<bag name="Children" inverse="true" cascade="all-delete-orphan">
Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2011-05-15 13:04:02 UTC (rev 5817)
+++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2011-05-15 14:12:10 UTC (rev 5818)
@@ -18,6 +18,7 @@
{
Children = new List<Child>();
Blood = 'O';
+ BirthDate = new DateTime(1950, 01, 01);
}
public static string StaticName;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|