Skip to content

Commit eb535f1

Browse files
committed
Fix local DateTimeOffset comparison.
1 parent e9e6de8 commit eb535f1

9 files changed

+365
-275
lines changed

test/MsgPack.UnitTest.CodeDom/Serialization/ArrayCodeDomBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest.CodeDom/Serialization/MapCodeDomBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/ArrayFieldBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/ArrayGenerationBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/ArrayReflectionBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/AutoMessagePackSerializerTest.ttinclude

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ namespace MsgPack.Serialization
421421
TestCore(
422422
DateTimeOffset.UtcNow,
423423
stream => MessagePackConvert.ToDateTimeOffset( Unpacking.UnpackInt64( stream ) ),
424-
( x, y ) => CompareDateTime( x.DateTime.ToUniversalTime(), y.DateTime.ToUniversalTime() ),
424+
CompareDateTime,
425425
context =>
426426
{
427427
context.DefaultDateTimeConversionMethod = DateTimeConversionMethod.UnixEpoc;
@@ -450,7 +450,7 @@ namespace MsgPack.Serialization
450450
TestCore(
451451
( DateTimeOffset? )DateTimeOffset.UtcNow,
452452
stream => MessagePackConvert.ToDateTimeOffset( Unpacking.UnpackInt64( stream ) ),
453-
( x, y ) => CompareDateTime( x.Value.DateTime.ToUniversalTime(), y.Value.DateTime.ToUniversalTime() ),
453+
CompareDateTime,
454454
context =>
455455
{
456456
context.GetSerializer<DateTimeOffset?>();
@@ -469,6 +469,16 @@ namespace MsgPack.Serialization
469469
return CompareDateTime( x.Value, y.Value );
470470
}
471471

472+
private static bool CompareDateTime( DateTimeOffset x, DateTimeOffset y )
473+
{
474+
return CompareDateTime( x.DateTime, y.DateTime ) && x.Offset == y.Offset;
475+
}
476+
477+
private static bool CompareDateTime( DateTimeOffset? x, DateTimeOffset? y )
478+
{
479+
return CompareDateTime( x.Value, y.Value );
480+
}
481+
472482
<#+
473483
foreach ( var contextSetting in new[] { "Native", "UnixEpoc" } )
474484
{
@@ -529,7 +539,7 @@ namespace MsgPack.Serialization
529539
Assert.That( CompareDateTime( result.UnixEpoc<#= suffix #>, input.UnixEpoc<#= suffix #>.ToUniversalTime() ), "{0:O}({0:%K}) == {1:O}({1:%K})", result.UnixEpoc<#= suffix #>, input.UnixEpoc<#= suffix #> );
530540

531541
<#+
532-
suffix = String.Format( CultureInfo.InvariantCulture, "DateTimeOffset{0}.DateTime", memberType );
542+
suffix = String.Format( CultureInfo.InvariantCulture, "DateTimeOffset{0}", memberType );
533543
if ( contextSetting == "Native" )
534544
{
535545
#>

test/MsgPack.UnitTest/Serialization/MapFieldBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/MapGenerationBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

test/MsgPack.UnitTest/Serialization/MapReflectionBasedAutoMessagePackSerializerTest.cs

Lines changed: 44 additions & 34 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)