Skip to content

Commit ad3689f

Browse files
committed
Add test case for NH3455.
1 parent cd13018 commit ad3689f

File tree

6 files changed

+139
-1
lines changed

6 files changed

+139
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.NH3455
4+
{
5+
class Address
6+
{
7+
public virtual Guid Id { get; set; }
8+
public virtual string Street { get; set; }
9+
public virtual string City { get; set; }
10+
public virtual string Zip { get; set; }
11+
public virtual string State { get; set; }
12+
}
13+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
using NHibernate.Transform;
2+
using NUnit.Framework;
3+
4+
namespace NHibernate.Test.NHSpecificTest.NH3455
5+
{
6+
[TestFixture]
7+
public class Fixture : BugTestCase
8+
{
9+
protected override void OnSetUp()
10+
{
11+
using (var session = OpenSession())
12+
using (var transaction = session.BeginTransaction())
13+
{
14+
var e1 = new Person { Name = "Bob", Age = 31, Weight = 185, Address = new Address
15+
{
16+
City = "Abington",
17+
State = "VA",
18+
Street = "Avenue",
19+
Zip = "11121"
20+
}};
21+
session.Save(e1);
22+
23+
var e2 = new Person
24+
{
25+
Name = "Sally",
26+
Age = 22,
27+
Weight = 122,
28+
Address = new Address
29+
{
30+
City = "Olympia",
31+
State = "WA",
32+
Street = "Broad",
33+
Zip = "99989"
34+
}
35+
};
36+
session.Save(e2);
37+
38+
session.Flush();
39+
transaction.Commit();
40+
}
41+
}
42+
43+
protected override void OnTearDown()
44+
{
45+
using (var session = OpenSession())
46+
using (var transaction = session.BeginTransaction())
47+
{
48+
session.Delete("from System.Object");
49+
50+
session.Flush();
51+
transaction.Commit();
52+
}
53+
}
54+
55+
[Test]
56+
public void OrderBySpecifiedProperty()
57+
{
58+
using (var session = OpenSession())
59+
using (session.BeginTransaction())
60+
{
61+
PersonDto dto = null;
62+
var people = session.QueryOver<Person>()
63+
.SelectList(b => b.Select(p => p.Id).WithAlias(() => dto.Id)
64+
.Select(p => p.Name).WithAlias(() => dto.Name)
65+
.Select(p => p.Address).WithAlias(() => dto.Address)
66+
.Select(p => p.Age).WithAlias(() => dto.Age))
67+
.OrderBy(p => p.Age)
68+
.Desc
69+
.TransformUsing(Transformers.AliasToBean<PersonDto>())
70+
.List<PersonDto>();
71+
72+
Assert.That(people.Count, Is.EqualTo(2));
73+
Assert.That(people, Is.Ordered.By("Age").Descending);
74+
}
75+
}
76+
}
77+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.NHSpecificTest.NH3455">
3+
4+
<class name="Person">
5+
<id name="Id" generator="guid.comb" />
6+
<property name="Name" />
7+
<property name="Age" />
8+
<property name="Weight" />
9+
<component name="Address">
10+
<property name="Street" />
11+
<property name="City" />
12+
<property name="Zip" />
13+
<property name="State" />
14+
</component>
15+
</class>
16+
17+
</hibernate-mapping>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.NH3455
4+
{
5+
class Person
6+
{
7+
public virtual Guid Id { get; set; }
8+
public virtual string Name { get; set; }
9+
public virtual int Age { get; set; }
10+
public virtual int Weight { get; set; }
11+
public virtual Address Address { get; set; }
12+
}
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.NH3455
4+
{
5+
class PersonDto
6+
{
7+
public virtual Guid Id { get; set; }
8+
public virtual string Name { get; set; }
9+
public virtual int Age { get; set; }
10+
public virtual int Weight { get; set; }
11+
public virtual Address Address { get; set; }
12+
}
13+
}

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,10 @@
686686
<Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Fixture.cs" />
687687
<Compile Include="Linq\ByMethod\DistinctTests.cs" />
688688
<Compile Include="Component\Basic\ComponentWithUniqueConstraintTests.cs" />
689+
<Compile Include="NHSpecificTest\NH3455\Address.cs" />
690+
<Compile Include="NHSpecificTest\NH3455\PersonDto.cs" />
691+
<Compile Include="NHSpecificTest\NH3455\Person.cs" />
692+
<Compile Include="NHSpecificTest\NH3455\Fixture.cs" />
689693
<Compile Include="NHSpecificTest\NH1082\SynchronizationThatThrowsExceptionAtBeforeTransactionCompletion.cs" />
690694
<Compile Include="NHSpecificTest\NH2756\Fixture.cs" />
691695
<Compile Include="NHSpecificTest\NH2756\Model.cs" />
@@ -3026,6 +3030,7 @@
30263030
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
30273031
</ItemGroup>
30283032
<ItemGroup>
3033+
<EmbeddedResource Include="NHSpecificTest\NH3455\Mappings.hbm.xml" />
30293034
<EmbeddedResource Include="NHSpecificTest\NH3590\Mappings.hbm.xml" />
30303035
<EmbeddedResource Include="NHSpecificTest\NH3377\Mappings.hbm.xml" />
30313036
<EmbeddedResource Include="NHSpecificTest\NH2865\Mappings.hbm.xml" />
@@ -3603,4 +3608,4 @@ if exist hibernate.cfg.xml (del hibernate.cfg.xml)
36033608
if exist "$(ProjectDir)hibernate.cfg.xml" (copy "$(ProjectDir)hibernate.cfg.xml" "hibernate.cfg.xml")
36043609
copy /y "..\..\..\NHibernate.DomainModel\ABC.hbm.xml" "ABC.hbm.xml"</PostBuildEvent>
36053610
</PropertyGroup>
3606-
</Project>
3611+
</Project>

0 commit comments

Comments
 (0)