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