Skip to content

Commit aab77e8

Browse files
committed
Fix min/max expected value.
These are borrowed from the PR of Timestamp spec, but they looks UInt64.MaxValue and UInt64.MaxValue * -1.
1 parent 70fd779 commit aab77e8

4 files changed

Lines changed: 72 additions & 72 deletions

File tree

test/MsgPack.UnitTest/TimestampTest.Common.ttinclude

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ private static readonly Dictionary<string, TestCase> StandardTestCases =
4343
new TestCase { Label = "DateTimeMaxPlus1Sec", Seconds = MaxDateTime.ToUnixTimeSeconds() + 1, Nanoseconds = 0, Year = 10000, Month = 1, Day = 1, Hour = 0, Minute = 0, Second = 0, DayOfYear = 1, IsLeapYear = true, DayOfWeek = DayOfWeek.Saturday },
4444
new TestCase { Label = "DateTimeMinMinus1Nsec", Seconds = MinDateTime.ToUnixTimeSeconds() - 1, Nanoseconds = 999999999, Year = 0, Month = 12, Day = 31, Hour = 23, Minute = 59, Second = 59, DayOfYear = 366, IsLeapYear = true, DayOfWeek = DayOfWeek.Sunday },
4545
new TestCase { Label = "DateTimeMaxPlus1Nsec", Seconds = MaxDateTime.ToUnixTimeSeconds(), Nanoseconds = 1, Year = 9999, Month = 12, Day = 31, Hour = 23, Minute = 59, Second = 59, DayOfYear = 365, IsLeapYear = false, DayOfWeek = DayOfWeek.Friday },
46-
new TestCase { Label = "TimestampMin", Seconds = Int64.MinValue, Nanoseconds = 0, Year = -584554047284, Month = 2, Day = 23, Hour = 16, Minute = 59, Second = 44, DayOfYear = 54, IsLeapYear = true, DayOfWeek = ( DayOfWeek )( int )Math.Abs( ( ( Int64.MinValue + UnixEpochInSeconds ) / 86400 + ( int )UnixEpoch.DayOfWeek ) % 7 ) },
47-
new TestCase { Label = "TimestampMax", Seconds = Int64.MaxValue, Nanoseconds = 999999999, Year = 584554051223, Month = 11, Day = 9, Hour = 7, Minute = 0, Second = 16, DayOfYear = 313, IsLeapYear = false, DayOfWeek = ( DayOfWeek )( int )Math.Abs( ( ( Int64.MaxValue + UnixEpochInSeconds ) / 86400 + ( int )UnixEpoch.DayOfWeek ) % 7 ) },
46+
new TestCase { Label = "TimestampMin", Seconds = Int64.MinValue, Nanoseconds = 0, Year = -292277022657, Month = 1, Day = 27, Hour = 8, Minute = 29, Second = 52, DayOfYear = 27, IsLeapYear = false, DayOfWeek = DayOfWeek.Saturday },
47+
new TestCase { Label = "TimestampMax", Seconds = Int64.MaxValue, Nanoseconds = 999999999, Year = 292277026596, Month = 12, Day = 4, Hour = 15, Minute = 30, Second = 7, DayOfYear = 339, IsLeapYear = true, DayOfWeek = DayOfWeek.Monday },
4848
new TestCase { Label = "Distinguishable", Seconds = DistinguishsableDateTime.ToUnixTimeSeconds(), Nanoseconds = 123456789, Year = 1234, Month = 5, Day = 6, Hour = 7, Minute = 8, Second = 9, DayOfYear = 126, IsLeapYear = false, DayOfWeek = DayOfWeek.Saturday },
4949
}.Concat(
5050
new []

test/MsgPack.UnitTest/TimestampTest.Parse.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMin_LowerO()
602602
{
603603
Assert.That(
604604
Timestamp.ParseExact(
605-
"-584554047284-02-23T16:59:44.000000000Z",
605+
"-292277022657-01-27T08:29:52.000000000Z",
606606
"o",
607607
null,
608608
DateTimeStyles.None
@@ -617,7 +617,7 @@ public void TestTryParseExact_TimestampMin_LowerO()
617617
Timestamp result;
618618
Assert.That(
619619
Timestamp.TryParseExact(
620-
"-584554047284-02-23T16:59:44.000000000Z",
620+
"-292277022657-01-27T08:29:52.000000000Z",
621621
"o",
622622
null,
623623
DateTimeStyles.None,
@@ -633,7 +633,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMin_UpperO()
633633
{
634634
Assert.That(
635635
Timestamp.ParseExact(
636-
"-584554047284-02-23T16:59:44.000000000Z",
636+
"-292277022657-01-27T08:29:52.000000000Z",
637637
"O",
638638
null,
639639
DateTimeStyles.None
@@ -648,7 +648,7 @@ public void TestTryParseExact_TimestampMin_UpperO()
648648
Timestamp result;
649649
Assert.That(
650650
Timestamp.TryParseExact(
651-
"-584554047284-02-23T16:59:44.000000000Z",
651+
"-292277022657-01-27T08:29:52.000000000Z",
652652
"O",
653653
null,
654654
DateTimeStyles.None,
@@ -664,7 +664,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMin_LowerS()
664664
{
665665
Assert.That(
666666
Timestamp.ParseExact(
667-
"-584554047284-02-23T16:59:44Z",
667+
"-292277022657-01-27T08:29:52Z",
668668
"s",
669669
null,
670670
DateTimeStyles.None
@@ -679,7 +679,7 @@ public void TestTryParseExact_TimestampMin_LowerS()
679679
Timestamp result;
680680
Assert.That(
681681
Timestamp.TryParseExact(
682-
"-584554047284-02-23T16:59:44Z",
682+
"-292277022657-01-27T08:29:52Z",
683683
"s",
684684
null,
685685
DateTimeStyles.None,
@@ -695,7 +695,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMax_LowerO()
695695
{
696696
Assert.That(
697697
Timestamp.ParseExact(
698-
"584554051223-11-09T07:00:16.999999999Z",
698+
"292277026596-12-04T15:30:07.999999999Z",
699699
"o",
700700
null,
701701
DateTimeStyles.None
@@ -710,7 +710,7 @@ public void TestTryParseExact_TimestampMax_LowerO()
710710
Timestamp result;
711711
Assert.That(
712712
Timestamp.TryParseExact(
713-
"584554051223-11-09T07:00:16.999999999Z",
713+
"292277026596-12-04T15:30:07.999999999Z",
714714
"o",
715715
null,
716716
DateTimeStyles.None,
@@ -726,7 +726,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMax_UpperO()
726726
{
727727
Assert.That(
728728
Timestamp.ParseExact(
729-
"584554051223-11-09T07:00:16.999999999Z",
729+
"292277026596-12-04T15:30:07.999999999Z",
730730
"O",
731731
null,
732732
DateTimeStyles.None
@@ -741,7 +741,7 @@ public void TestTryParseExact_TimestampMax_UpperO()
741741
Timestamp result;
742742
Assert.That(
743743
Timestamp.TryParseExact(
744-
"584554051223-11-09T07:00:16.999999999Z",
744+
"292277026596-12-04T15:30:07.999999999Z",
745745
"O",
746746
null,
747747
DateTimeStyles.None,
@@ -757,7 +757,7 @@ public void TestParseExact_WithDateTimeStyles_TimestampMax_LowerS()
757757
{
758758
Assert.That(
759759
Timestamp.ParseExact(
760-
"584554051223-11-09T07:00:16Z",
760+
"292277026596-12-04T15:30:07Z",
761761
"s",
762762
null,
763763
DateTimeStyles.None
@@ -772,7 +772,7 @@ public void TestTryParseExact_TimestampMax_LowerS()
772772
Timestamp result;
773773
Assert.That(
774774
Timestamp.TryParseExact(
775-
"584554051223-11-09T07:00:16Z",
775+
"292277026596-12-04T15:30:07Z",
776776
"s",
777777
null,
778778
DateTimeStyles.None,

test/MsgPack.UnitTest/TimestampTest.Properties.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -350,49 +350,49 @@ public void TestProperties_DateTimeMaxPlus1Nsec()
350350
[Test]
351351
public void TestProperties_TimestampMin()
352352
{
353-
// -584554047284-02-23T16:59:44.000000000Z
353+
// -292277022657-01-27T08:29:52.000000000Z
354354
var target = new Timestamp( -9223372036854775808, 0 );
355355
Assert.That( target.UnixEpochSecondsPart, Is.EqualTo( -9223372036854775808 ), "UnixEpochSecondsPart" );
356356
Assert.That( target.NanosecondsPart, Is.EqualTo( 0 ), "NanosecondsPart" );
357357

358-
Assert.That( target.Year, Is.EqualTo( -584554047284 ), "Year" );
359-
Assert.That( target.Month, Is.EqualTo( 2 ), "Month" );
360-
Assert.That( target.Day, Is.EqualTo( 23 ), "Day" );
361-
Assert.That( target.Hour, Is.EqualTo( 16 ), "Hour" );
362-
Assert.That( target.Minute, Is.EqualTo( 59 ), "Minute" );
363-
Assert.That( target.Second, Is.EqualTo( 44 ), "Second" );
358+
Assert.That( target.Year, Is.EqualTo( -292277022657 ), "Year" );
359+
Assert.That( target.Month, Is.EqualTo( 1 ), "Month" );
360+
Assert.That( target.Day, Is.EqualTo( 27 ), "Day" );
361+
Assert.That( target.Hour, Is.EqualTo( 8 ), "Hour" );
362+
Assert.That( target.Minute, Is.EqualTo( 29 ), "Minute" );
363+
Assert.That( target.Second, Is.EqualTo( 52 ), "Second" );
364364

365365
Assert.That( target.Millisecond, Is.EqualTo( 0 ), "Millisecond" );
366366
Assert.That( target.Microsecond, Is.EqualTo( 0 ), "Microsecond" );
367367
Assert.That( target.Nanosecond, Is.EqualTo( 0 ), "Nanosecond" );
368368

369-
Assert.That( target.DayOfYear, Is.EqualTo( 54 ), "DayOfYear" );
369+
Assert.That( target.DayOfYear, Is.EqualTo( 27 ), "DayOfYear" );
370370
Assert.That( target.DayOfWeek, Is.EqualTo( DayOfWeek.Saturday ), "DayOfWeek" );
371-
Assert.That( target.IsLeapYear, Is.EqualTo( true ), "IsLeapYear" );
371+
Assert.That( target.IsLeapYear, Is.EqualTo( false ), "IsLeapYear" );
372372
}
373373

374374
[Test]
375375
public void TestProperties_TimestampMax()
376376
{
377-
// 584554051223-11-09T07:00:16.999999999Z
377+
// 292277026596-12-04T15:30:07.999999999Z
378378
var target = new Timestamp( 9223372036854775807, 999999999 );
379379
Assert.That( target.UnixEpochSecondsPart, Is.EqualTo( 9223372036854775807 ), "UnixEpochSecondsPart" );
380380
Assert.That( target.NanosecondsPart, Is.EqualTo( 999999999 ), "NanosecondsPart" );
381381

382-
Assert.That( target.Year, Is.EqualTo( 584554051223 ), "Year" );
383-
Assert.That( target.Month, Is.EqualTo( 11 ), "Month" );
384-
Assert.That( target.Day, Is.EqualTo( 9 ), "Day" );
385-
Assert.That( target.Hour, Is.EqualTo( 7 ), "Hour" );
386-
Assert.That( target.Minute, Is.EqualTo( 0 ), "Minute" );
387-
Assert.That( target.Second, Is.EqualTo( 16 ), "Second" );
382+
Assert.That( target.Year, Is.EqualTo( 292277026596 ), "Year" );
383+
Assert.That( target.Month, Is.EqualTo( 12 ), "Month" );
384+
Assert.That( target.Day, Is.EqualTo( 4 ), "Day" );
385+
Assert.That( target.Hour, Is.EqualTo( 15 ), "Hour" );
386+
Assert.That( target.Minute, Is.EqualTo( 30 ), "Minute" );
387+
Assert.That( target.Second, Is.EqualTo( 7 ), "Second" );
388388

389389
Assert.That( target.Millisecond, Is.EqualTo( 999 ), "Millisecond" );
390390
Assert.That( target.Microsecond, Is.EqualTo( 999 ), "Microsecond" );
391391
Assert.That( target.Nanosecond, Is.EqualTo( 999 ), "Nanosecond" );
392392

393-
Assert.That( target.DayOfYear, Is.EqualTo( 313 ), "DayOfYear" );
394-
Assert.That( target.DayOfWeek, Is.EqualTo( DayOfWeek.Sunday ), "DayOfWeek" );
395-
Assert.That( target.IsLeapYear, Is.EqualTo( false ), "IsLeapYear" );
393+
Assert.That( target.DayOfYear, Is.EqualTo( 339 ), "DayOfYear" );
394+
Assert.That( target.DayOfWeek, Is.EqualTo( DayOfWeek.Monday ), "DayOfWeek" );
395+
Assert.That( target.IsLeapYear, Is.EqualTo( true ), "IsLeapYear" );
396396
}
397397

398398
[Test]

test/MsgPack.UnitTest/TimestampTest.ToString.cs

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -457,12 +457,12 @@ public void TestToStringCore_TimestampMin_LowerO()
457457
{
458458
var value =
459459
new Timestamp.Value(
460-
-584554047284,
461-
2,
462-
23,
463-
16,
464-
59,
465-
44,
460+
-292277022657,
461+
1,
462+
27,
463+
8,
464+
29,
465+
52,
466466
0
467467
);
468468
Assert.That(
@@ -471,7 +471,7 @@ public void TestToStringCore_TimestampMin_LowerO()
471471
CultureInfo.InvariantCulture,
472472
ref value
473473
),
474-
Is.EqualTo( "-584554047284-02-23T16:59:44.000000000Z" )
474+
Is.EqualTo( "-292277022657-01-27T08:29:52.000000000Z" )
475475
);
476476
}
477477

@@ -480,12 +480,12 @@ public void TestToStringCore_TimestampMin_UpperO()
480480
{
481481
var value =
482482
new Timestamp.Value(
483-
-584554047284,
484-
2,
485-
23,
486-
16,
487-
59,
488-
44,
483+
-292277022657,
484+
1,
485+
27,
486+
8,
487+
29,
488+
52,
489489
0
490490
);
491491
Assert.That(
@@ -494,7 +494,7 @@ public void TestToStringCore_TimestampMin_UpperO()
494494
CultureInfo.InvariantCulture,
495495
ref value
496496
),
497-
Is.EqualTo( "-584554047284-02-23T16:59:44.000000000Z" )
497+
Is.EqualTo( "-292277022657-01-27T08:29:52.000000000Z" )
498498
);
499499
}
500500

@@ -503,12 +503,12 @@ public void TestToStringCore_TimestampMin_LowerS()
503503
{
504504
var value =
505505
new Timestamp.Value(
506-
-584554047284,
507-
2,
508-
23,
509-
16,
510-
59,
511-
44,
506+
-292277022657,
507+
1,
508+
27,
509+
8,
510+
29,
511+
52,
512512
0
513513
);
514514
Assert.That(
@@ -517,7 +517,7 @@ public void TestToStringCore_TimestampMin_LowerS()
517517
CultureInfo.InvariantCulture,
518518
ref value
519519
),
520-
Is.EqualTo( "-584554047284-02-23T16:59:44Z" )
520+
Is.EqualTo( "-292277022657-01-27T08:29:52Z" )
521521
);
522522
}
523523

@@ -526,12 +526,12 @@ public void TestToStringCore_TimestampMax_LowerO()
526526
{
527527
var value =
528528
new Timestamp.Value(
529-
584554051223,
530-
11,
531-
9,
529+
292277026596,
530+
12,
531+
4,
532+
15,
533+
30,
532534
7,
533-
0,
534-
16,
535535
999999999
536536
);
537537
Assert.That(
@@ -540,7 +540,7 @@ public void TestToStringCore_TimestampMax_LowerO()
540540
CultureInfo.InvariantCulture,
541541
ref value
542542
),
543-
Is.EqualTo( "584554051223-11-09T07:00:16.999999999Z" )
543+
Is.EqualTo( "292277026596-12-04T15:30:07.999999999Z" )
544544
);
545545
}
546546

@@ -549,12 +549,12 @@ public void TestToStringCore_TimestampMax_UpperO()
549549
{
550550
var value =
551551
new Timestamp.Value(
552-
584554051223,
553-
11,
554-
9,
552+
292277026596,
553+
12,
554+
4,
555+
15,
556+
30,
555557
7,
556-
0,
557-
16,
558558
999999999
559559
);
560560
Assert.That(
@@ -563,7 +563,7 @@ public void TestToStringCore_TimestampMax_UpperO()
563563
CultureInfo.InvariantCulture,
564564
ref value
565565
),
566-
Is.EqualTo( "584554051223-11-09T07:00:16.999999999Z" )
566+
Is.EqualTo( "292277026596-12-04T15:30:07.999999999Z" )
567567
);
568568
}
569569

@@ -572,12 +572,12 @@ public void TestToStringCore_TimestampMax_LowerS()
572572
{
573573
var value =
574574
new Timestamp.Value(
575-
584554051223,
576-
11,
577-
9,
575+
292277026596,
576+
12,
577+
4,
578+
15,
579+
30,
578580
7,
579-
0,
580-
16,
581581
999999999
582582
);
583583
Assert.That(
@@ -586,7 +586,7 @@ public void TestToStringCore_TimestampMax_LowerS()
586586
CultureInfo.InvariantCulture,
587587
ref value
588588
),
589-
Is.EqualTo( "584554051223-11-09T07:00:16Z" )
589+
Is.EqualTo( "292277026596-12-04T15:30:07Z" )
590590
);
591591
}
592592

0 commit comments

Comments
 (0)