示例#1
0
        public void Iso8601ToInstantPassedValidValueReturnsCorrectResult(string testValue, Instant expectedValue)
        {
            var result = NodaTimeConverter.Iso8601ToInstant(testValue,
                                                            Iso8601ParseOptions.AllowBeginningOfTime | Iso8601ParseOptions.AllowEndOfTime);

            Assert.That(result, Is.EqualTo(expectedValue));
        }
示例#2
0
        public void ToOffsetDateTime_AndToDateTimeOffset_ConvertsMaxInstantToMaxDateTimeOffset(Offset offset)
        {
            var offsetDateTime = NodaTimeConverter.ToOffsetDateTime(Instant.MaxValue, offset);
            var dateTimeOffset = NodaTimeConverter.ToDateTimeOffset(offsetDateTime);

            dateTimeOffset.Should().Be(DateTimeOffset.MaxValue);
        }
示例#3
0
        public void ToDateTimeUtc_ThenToInstant_ReturnsSameValue(Instant expected)
        {
            var dateTime = NodaTimeConverter.ToDateTimeUtc(expected);
            var actual   = NodaTimeConverter.UtcDateTimeToInstant(dateTime);

            Assert.That(actual, Is.EqualTo(expected));
        }
示例#4
0
        public void UtcDateTimeAllowingUnspecifiedKindToInstant_WithUnspecifiedDateTimeKind_IsTreatedAsUtc()
        {
            var input = new DateTime(2000, 01, 01, 00, 00, 00, DateTimeKind.Unspecified);

            var output = NodaTimeConverter.UtcDateTimeAllowingUnspecifiedKindToInstant(input);

            Assert.That(output.ToDateTimeUtc(), Is.EqualTo(input));
        }
示例#5
0
        public void OffsetToHours_WithValueInAllowedRange_ConvertsCorrectly(double expectedUtcOffsetInHours, long offsetInTicks)
        {
            var offset = Offset.FromTicks(offsetInTicks);

            var actual = NodaTimeConverter.OffsetToHours(offset);

            actual.ShouldBeEquivalentTo(expectedUtcOffsetInHours);
        }
示例#6
0
        public void OffsetToHours_WithOffsetGreaterThanAllowedMaximum_Throws()
        {
            var offsetGreaterThanAllowedMaximum = Offset.FromHours(15);

            Action action = () => NodaTimeConverter.OffsetToHours(offsetGreaterThanAllowedMaximum);

            action.ShouldThrow <ArgumentOutOfRangeException>();
        }
示例#7
0
        public void HoursToOffsetPassedValueGreaterThanMaximumAllowedOffsetThrows()
        {
            const double utcOffsetGreaterThanMaximum = 15.0;

            TestDelegate testDelegate = () => NodaTimeConverter.HoursToOffset(utcOffsetGreaterThanMaximum);

            Assert.That(testDelegate, Throws.TypeOf <ArgumentOutOfRangeException>());
        }
示例#8
0
        public void ToOffsetDateTime_GivenInstant_ReturnsExpected(Offset offset)
        {
            var time = _fixture.Create <Instant>();

            var offsetDateTime = NodaTimeConverter.ToOffsetDateTime(time, offset);

            offsetDateTime.ToInstant().Should().Be(time);
            offsetDateTime.Offset.Should().Be(offset);
        }
示例#9
0
        public void ToDateTimeOffset_GivenMaxOffsetDateTime_ReturnsDateTimeOffsetMaxValue()
        {
            var maxOffsetDateTime = NodaTimeConverter.MaxOffsetDateTime;

            var maxDateTimeOffset = NodaTimeConverter.ToDateTimeOffset(maxOffsetDateTime);

            maxDateTimeOffset.DateTime.Should().Be(NodaTimeConverter.MaxDateTimeUtc);
            maxDateTimeOffset.Should().Be(DateTimeOffset.MaxValue);
        }
示例#10
0
        public void ToDateTimeOffset_GivenMaxDateTimeInstant_WithZeroOffset_Throws()
        {
            var maxDateTimeInstant           = NodaTimeConverter.MaxDateTimeInstant;
            var offsetDateTimeWithMaxInstant = NodaTimeConverter.ToOffsetDateTime(maxDateTimeInstant, Offset.Zero);

            Action toDateTimeOffset = () => NodaTimeConverter.ToDateTimeOffset(offsetDateTimeWithMaxInstant);

            toDateTimeOffset.ShouldThrow <ArgumentOutOfRangeException>();
        }
示例#11
0
        public void ToDateTimeOffsetUtc_ReturnsExpectedValueWithOffsetZero()
        {
            var expected = new DateTimeOffset(2001, 01, 02, 03, 04, 05, TimeSpan.FromHours(-8));
            var instant  = Instant.FromDateTimeOffset(expected);

            var actual = NodaTimeConverter.InstantToDateTimeOffsetUtc(instant);

            Assert.That(actual, Is.EqualTo(expected));
            Assert.That(actual.Offset, Is.EqualTo(TimeSpan.Zero));
        }
示例#12
0
        public void ToDateTimeOffset_GivenOffsetDateTime_ReturnsExpected(Offset offset)
        {
            var instant        = _fixture.Create <Instant>();
            var offsetDateTime = instant.WithOffset(offset);

            var dateTimeOffset = NodaTimeConverter.ToDateTimeOffset(offsetDateTime);

            Instant.FromDateTimeOffset(dateTimeOffset).Should().Be(instant);
            Offset.FromTicks(dateTimeOffset.Offset.Ticks).Should().Be(offset);
        }
示例#13
0
        public void HoursToOffsetPassedValueWithinAllowedRangeReturnsCorrectResult(double testUtcOffset, long expectedResultInTicks)
        {
            var result = NodaTimeConverter.HoursToOffset(testUtcOffset);

            Assert.That(result, Is.EqualTo(Offset.FromTicks(expectedResultInTicks)));
        }
示例#14
0
 public void ToDateTimeUtc_ConvertsDateTimeCorrectly()
 {
     Assert.That(NodaTimeConverter.ToDateTimeUtc(Instant0101), Is.EqualTo(DateTimeUtc0101));
 }
示例#15
0
 public void Iso8601ToInstantPassedInvalidValueThrowsArgumentException(string testValue, Iso8601ParseOptions options)
 {
     Assert.That(() => NodaTimeConverter.Iso8601ToInstant(testValue, options), Throws.ArgumentException);
 }
示例#16
0
        public void UtcDateTimeToInstant_ThrowsIfDateTimeIsNotUtcKind()
        {
            var dateTime = new DateTime(2001, 01, 02);

            Assert.That(() => NodaTimeConverter.UtcDateTimeToInstant(dateTime), Throws.TypeOf <ArgumentException>());
        }
示例#17
0
        public void ToOffsetDateTime_GivenMaxValue_ReturnsMaxOffsetDateTime(Offset offset)
        {
            var maxOffsetDateTime = NodaTimeConverter.ToOffsetDateTime(Instant.MaxValue, offset);

            maxOffsetDateTime.Should().Be(NodaTimeConverter.MaxOffsetDateTime);
        }
示例#18
0
        public void ToOffsetDateTime_GivenMinValue_ReturnsOffsetDateTime_WithMinInstantValue(Offset offset)
        {
            var minOffsetDateTime = NodaTimeConverter.ToOffsetDateTime(Instant.MinValue, offset);

            minOffsetDateTime.ToInstant().Should().Be(Instant.MinValue);
        }
示例#19
0
        public void ToNullableDateTimeUtc_MaxValue_ConvertsToNull()
        {
            var dateTimeUtc = NodaTimeConverter.ToNullableDateTimeUtc(Instant.MaxValue);

            dateTimeUtc.ShouldBeEquivalentTo(null);
        }
示例#20
0
 public void ToDateTimeUtc_WithValuesOutsideOfRange_Throws(Instant input)
 {
     Assert.That(() => NodaTimeConverter.ToDateTimeUtc(input), Throws.TypeOf <ArgumentOutOfRangeException>());
 }
示例#21
0
 public void UtcDateTimeToInstant_ConvertsMaxDateTimeUtcToInstantMaxValue()
 {
     Assert.That(NodaTimeConverter.UtcDateTimeToInstant(MaxDateTimeUtc), Is.EqualTo(Instant.MaxValue));
 }
示例#22
0
 public void ToDateTimeUtc_ConvertsMaxInstantToMaxDateTimeUtc()
 {
     Assert.That(NodaTimeConverter.ToDateTimeUtc(Instant.MaxValue), Is.EqualTo(MaxDateTimeUtc));
 }
示例#23
0
        public void ToNullableDateTimeUtc_NullInstant_ConvertsToNullDateTime()
        {
            var dateTimeUtc = NodaTimeConverter.ToNullableDateTimeUtc(null);

            dateTimeUtc.ShouldBeEquivalentTo(null);
        }
示例#24
0
        public void ToNullableDateTimeUtc_ValuesOutsideOfRange_Throws(Instant input)
        {
            Action action = () => NodaTimeConverter.ToNullableDateTimeUtc(input);

            action.ShouldThrow <ArgumentOutOfRangeException>();
        }
示例#25
0
        public void NullableUtcDateTimeToNullableInstant_GivenNull_ReturnsNull()
        {
            var result = NodaTimeConverter.NullableUtcDateTimeToNullableInstant(null);

            Assert.That(result, Is.Null);
        }
示例#26
0
        public void ToNullableDateTimeUtc_ConvertToDateTimeCorrectly()
        {
            var dateTimeUtc = NodaTimeConverter.ToNullableDateTimeUtc(Instant0101);

            dateTimeUtc.ShouldBeEquivalentTo(DateTimeUtc0101);
        }
示例#27
0
        public void NullableUtcDateTimeToDefaultEndOfTimeInstant_WithNull_ReturnsMaxInstant()
        {
            var output = NodaTimeConverter.NullableUtcDateTimeToDefaultEndOfTimeInstant(null);

            Assert.That(output, Is.EqualTo(Instant.MaxValue));
        }