Skip to content

Commit c121dad

Browse files
NH-3693 - added serialization/deserialization then use test
1 parent 00ba8f2 commit c121dad

File tree

1 file changed

+31
-22
lines changed

1 file changed

+31
-22
lines changed

src/NHibernate.Test/TransformTests/AliasToBeanResultTransformerFixture.cs

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Collections;
22
using System.Reflection;
33
using NHibernate.Transform;
4+
using NHibernate.Util;
45
using NUnit.Framework;
56

67
namespace NHibernate.Test.TransformTests
@@ -95,7 +96,7 @@ public class BasePrivateFieldSimpleDTO2
9596
#pragma warning disable CS0649
9697
private object _id;
9798
#pragma warning restore CS0649
98-
public object iD { get { return _id; } }
99+
public object iD => _id;
99100
}
100101

101102
public class PrivateInheritedFieldsSimpleDTO2 : BasePrivateFieldSimpleDTO2
@@ -241,19 +242,30 @@ public void ToPropertiesInsensitivelyDuplicated_WithoutAnyProjections()
241242
}
242243
}
243244

244-
private void AssertCardinalityNameAndId<T>(string queryString = "select * from Simple")
245+
[Test]
246+
public void Serialization()
247+
{
248+
AssertSerialization<PublicPropertiesSimpleDTO>();
249+
AssertSerialization<PrivateFieldsSimpleDTO>();
250+
AssertSerialization<PublicInheritedPropertiesSimpleDTO>();
251+
AssertSerialization<PrivateInheritedFieldsSimpleDTO>();
252+
AssertSerialization<NewPropertiesSimpleDTO>();
253+
}
254+
255+
private void AssertCardinalityNameAndId<T>(IResultTransformer transformer = null)
245256
{
246257
using (var s = OpenSession())
247258
{
248-
var transformer = Transformers.AliasToBean<T>();
249-
var l = s.CreateSQLQuery(queryString)
259+
transformer = transformer ?? Transformers.AliasToBean<T>();
260+
var l = s.CreateSQLQuery("select * from Simple")
250261
.SetResultTransformer(transformer)
251262
.List<T>();
252-
Assert.That(l.Count, Is.EqualTo(2));
253-
Assert.That(l, Has.All.Not.Null);
254-
Assert.That(l, Has.Some.Property("Name").EqualTo("Name1"));
255-
Assert.That(l, Has.Some.Property("Name").EqualTo("Name2"));
256-
Assert.That(l, Has.All.Property("Id").Not.Null);
263+
var testClass = typeof(T).Name;
264+
Assert.That(l.Count, Is.EqualTo(2), testClass);
265+
Assert.That(l, Has.All.Not.Null, testClass);
266+
Assert.That(l, Has.Some.Property("Name").EqualTo("Name1"), testClass);
267+
Assert.That(l, Has.Some.Property("Name").EqualTo("Name2"), testClass);
268+
Assert.That(l, Has.All.Property("Id").Not.Null, testClass);
257269
}
258270
}
259271

@@ -265,23 +277,20 @@ private void AssertCardinalityAndSomething<T>(string queryString = "select s.Nam
265277
var l = s.CreateSQLQuery(queryString)
266278
.SetResultTransformer(transformer)
267279
.List<T>();
268-
Assert.That(l.Count, Is.EqualTo(2));
269-
Assert.That(l, Has.All.Not.Null);
270-
Assert.That(l, Has.Some.Property("Something").EqualTo("Name1"));
271-
Assert.That(l, Has.Some.Property("Something").EqualTo("Name2"));
280+
var testClass = typeof(T).Name;
281+
Assert.That(l.Count, Is.EqualTo(2), testClass);
282+
Assert.That(l, Has.All.Not.Null, testClass);
283+
Assert.That(l, Has.Some.Property("Something").EqualTo("Name1"), testClass);
284+
Assert.That(l, Has.Some.Property("Something").EqualTo("Name2"), testClass);
272285
}
273286
}
274287

275-
private void AssertParameterLessCtorAreWorking(string queryString)
288+
private void AssertSerialization<T>()
276289
{
277-
using (var s = OpenSession())
278-
{
279-
var l =
280-
s.CreateSQLQuery(queryString).SetResultTransformer(
281-
Transformers.AliasToBean<PublicParameterLessCtor>()).List<PublicParameterLessCtor>();
282-
Assert.That(l.Count, Is.EqualTo(2));
283-
Assert.That(l, Has.All.Not.Null);
284-
}
290+
var transformer = Transformers.AliasToBean<T>();
291+
var bytes = SerializationHelper.Serialize(transformer);
292+
transformer = (IResultTransformer)SerializationHelper.Deserialize(bytes);
293+
AssertCardinalityNameAndId<T>(transformer: transformer);
285294
}
286295
}
287296
}

0 commit comments

Comments
 (0)