From f2b6bbe1f6ef38c0741d89b692341f31ec7b1cdf Mon Sep 17 00:00:00 2001 From: cnkwocha Date: Mon, 17 Jun 2024 16:12:38 +0100 Subject: [PATCH] Fix formatting --- .../Basic ASN1 Types/GeneralizedTime.swift | 8 +- .../SwiftASN1Tests/GeneralizedTimeTests.swift | 570 ++++++++++++++++-- 2 files changed, 511 insertions(+), 67 deletions(-) diff --git a/Sources/SwiftASN1/Basic ASN1 Types/GeneralizedTime.swift b/Sources/SwiftASN1/Basic ASN1 Types/GeneralizedTime.swift index 1f197f1..1cb426e 100644 --- a/Sources/SwiftASN1/Basic ASN1 Types/GeneralizedTime.swift +++ b/Sources/SwiftASN1/Basic ASN1 Types/GeneralizedTime.swift @@ -289,7 +289,11 @@ extension GeneralizedTime: Comparable { if lhs.hours < rhs.hours { return true } else if lhs.hours > rhs.hours { return false } if lhs.minutes < rhs.minutes { return true } else if lhs.minutes > rhs.minutes { return false } if lhs.seconds < rhs.seconds { return true } else if lhs.seconds > rhs.seconds { return false } - if lhs.fractionalSeconds < rhs.fractionalSeconds { return true } else if lhs.fractionalSeconds > rhs.fractionalSeconds { return false } + if lhs.fractionalSeconds < rhs.fractionalSeconds { + return true + } else if lhs.fractionalSeconds > rhs.fractionalSeconds { + return false + } for (lhsByte, rhsByte) in zip(lhs.rawFractionalSeconds, rhs.rawFractionalSeconds) { if lhsByte != rhsByte { @@ -299,6 +303,6 @@ extension GeneralizedTime: Comparable { // Since the above `zip` iteration stops at the length of the shorter `Sequence`, finally, // compare the length of the two `Sequence`s. - return lhs.rawFractionalSeconds.count < rhs.rawFractionalSeconds.count; + return lhs.rawFractionalSeconds.count < rhs.rawFractionalSeconds.count } } diff --git a/Tests/SwiftASN1Tests/GeneralizedTimeTests.swift b/Tests/SwiftASN1Tests/GeneralizedTimeTests.swift index 2da483a..1e77889 100644 --- a/Tests/SwiftASN1Tests/GeneralizedTimeTests.swift +++ b/Tests/SwiftASN1Tests/GeneralizedTimeTests.swift @@ -34,7 +34,15 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "19920521000000Z", - try .init(year: 1992, month: 5, day: 21, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) + try .init( + year: 1992, + month: 5, + day: 21, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) ), ( "19920622123421Z", @@ -42,7 +50,15 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "19920622123421Z", - try .init(year: 1992, month: 6, day: 22, hours: 12, minutes: 34, seconds: 21, rawFractionalSeconds: ArraySlice()) + try .init( + year: 1992, + month: 6, + day: 22, + hours: 12, + minutes: 34, + seconds: 21, + rawFractionalSeconds: ArraySlice() + ) ), ( "19920722132100.3Z", @@ -50,7 +66,15 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "19920722132100.3Z", - try .init(year: 1992, month: 7, day: 22, hours: 13, minutes: 21, seconds: 0, rawFractionalSeconds: ArraySlice([51])) + try .init( + year: 1992, + month: 7, + day: 22, + hours: 13, + minutes: 21, + seconds: 0, + rawFractionalSeconds: ArraySlice([51]) + ) ), ( "19851106210627.3Z", @@ -58,7 +82,15 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "19851106210627.3Z", - try .init(year: 1985, month: 11, day: 6, hours: 21, minutes: 6, seconds: 27, rawFractionalSeconds: ArraySlice([51])) + try .init( + year: 1985, + month: 11, + day: 6, + hours: 21, + minutes: 6, + seconds: 27, + rawFractionalSeconds: ArraySlice([51]) + ) ), ( "19851106210627.14159Z", @@ -66,7 +98,15 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "19851106210627.14159Z", - try .init(year: 1985, month: 11, day: 6, hours: 21, minutes: 6, seconds: 27, rawFractionalSeconds: ArraySlice([49, 52, 49, 53, 57])) + try .init( + year: 1985, + month: 11, + day: 6, + hours: 21, + minutes: 6, + seconds: 27, + rawFractionalSeconds: ArraySlice([49, 52, 49, 53, 57]) + ) ), ( "20210131000000Z", @@ -74,125 +114,255 @@ final class GeneralizedTimeTests: XCTestCase { ), ( "20210131000000Z", - try .init(year: 2021, month: 1, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in January + try .init( + year: 2021, + month: 1, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in January ( "20210228000000Z", try .init(year: 2021, month: 2, day: 28, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210228000000Z", - try .init(year: 2021, month: 2, day: 28, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 28 days in February 2021 + try .init( + year: 2021, + month: 2, + day: 28, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 28 days in February 2021 ( "20200229000000Z", try .init(year: 2020, month: 2, day: 29, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20200229000000Z", - try .init(year: 2020, month: 2, day: 29, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 29 days in February 2020 + try .init( + year: 2020, + month: 2, + day: 29, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 29 days in February 2020 ( "21000228000000Z", try .init(year: 2100, month: 2, day: 28, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "21000228000000Z", - try .init(year: 2100, month: 2, day: 28, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 28 days in February 2100 + try .init( + year: 2100, + month: 2, + day: 28, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 28 days in February 2100 ( "20000229000000Z", try .init(year: 2000, month: 2, day: 29, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20000229000000Z", - try .init(year: 2000, month: 2, day: 29, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 29 days in February 2000 + try .init( + year: 2000, + month: 2, + day: 29, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 29 days in February 2000 ( "20210331000000Z", try .init(year: 2021, month: 3, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210331000000Z", - try .init(year: 2021, month: 3, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in March + try .init( + year: 2021, + month: 3, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in March ( "20210430000000Z", try .init(year: 2021, month: 4, day: 30, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210430000000Z", - try .init(year: 2021, month: 4, day: 30, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 30 days in April + try .init( + year: 2021, + month: 4, + day: 30, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 30 days in April ( "20210531000000Z", try .init(year: 2021, month: 5, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210531000000Z", - try .init(year: 2021, month: 5, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in May + try .init( + year: 2021, + month: 5, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in May ( "20210630000000Z", try .init(year: 2021, month: 6, day: 30, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210630000000Z", - try .init(year: 2021, month: 6, day: 30, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 30 days in June + try .init( + year: 2021, + month: 6, + day: 30, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 30 days in June ( "20210731000000Z", try .init(year: 2021, month: 7, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210731000000Z", - try .init(year: 2021, month: 7, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in July + try .init( + year: 2021, + month: 7, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in July ( "20210831000000Z", try .init(year: 2021, month: 8, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210831000000Z", - try .init(year: 2021, month: 8, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in August + try .init( + year: 2021, + month: 8, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in August ( "20210930000000Z", try .init(year: 2021, month: 9, day: 30, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20210930000000Z", - try .init(year: 2021, month: 9, day: 30, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 30 days in September + try .init( + year: 2021, + month: 9, + day: 30, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 30 days in September ( "20211031000000Z", try .init(year: 2021, month: 10, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20211031000000Z", - try .init(year: 2021, month: 10, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in October + try .init( + year: 2021, + month: 10, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in October ( "20211130000000Z", try .init(year: 2021, month: 11, day: 30, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20211130000000Z", - try .init(year: 2021, month: 11, day: 30, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 30 days in November + try .init( + year: 2021, + month: 11, + day: 30, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 30 days in November ( "20211231000000Z", try .init(year: 2021, month: 12, day: 31, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: 0) ), ( "20211231000000Z", - try .init(year: 2021, month: 12, day: 31, hours: 0, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice()) - ),// only 31 days in December + try .init( + year: 2021, + month: 12, + day: 31, + hours: 0, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ), // only 31 days in December ( "19851106210627.10000000000000001Z", - try .init(year: 1985, month: 11, day: 6, hours: 21, minutes: 6, seconds: 27, rawFractionalSeconds: ArraySlice([49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49])) - ),// `fractionalSeconds` loses precision and becomes 0.1 (as opposed to 0.10000000000000001). - // But `GeneralizedTime` round-trips when serialized and deserialized, as `rawFractionalSeconds` is preserved. + try .init( + year: 1985, + month: 11, + day: 6, + hours: 21, + minutes: 6, + seconds: 27, + rawFractionalSeconds: ArraySlice([ + 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, + ]) + ) + ), // `fractionalSeconds` loses precision and becomes 0.1 (as opposed to 0.10000000000000001). + // But `GeneralizedTime` round-trips when serialized and deserialized, as `rawFractionalSeconds` is preserved. // Invalid representations ("19920520240000Z", nil), // midnight may not be 2400000 @@ -249,85 +419,355 @@ final class GeneralizedTimeTests: XCTestCase { // Invalid year, negative mustFail(try .init(year: -1, month: 1, day: 1, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: -1, month: 1, day: 1, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: -1, + month: 1, + day: 1, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid month, zero. mustFail(try .init(year: 2000, month: 0, day: 1, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 0, day: 1, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 0, + day: 1, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid month, negative. mustFail(try .init(year: 2000, month: -1, day: 1, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: -1, day: 1, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: -1, + day: 1, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid month, too large. mustFail(try .init(year: 2000, month: 13, day: 1, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 13, day: 1, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 13, + day: 1, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid day, zero. mustFail(try .init(year: 2000, month: 1, day: 0, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 0, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 0, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid day, negative. mustFail(try .init(year: 2000, month: 1, day: -1, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: -1, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: -1, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in January mustFail(try .init(year: 2000, month: 1, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 28 days in February 2021 mustFail(try .init(year: 2021, month: 2, day: 29, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2021, month: 2, day: 29, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2021, + month: 2, + day: 29, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 29 days in February 2020 mustFail(try .init(year: 2020, month: 2, day: 30, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2020, month: 2, day: 30, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2020, + month: 2, + day: 30, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 28 days in February 2100 mustFail(try .init(year: 2100, month: 2, day: 29, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2100, month: 2, day: 29, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2100, + month: 2, + day: 29, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 29 days in February 2000 mustFail(try .init(year: 2000, month: 2, day: 30, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 2, day: 30, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 2, + day: 30, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in March mustFail(try .init(year: 2000, month: 3, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 3, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 3, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 30 days in April mustFail(try .init(year: 2000, month: 4, day: 31, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 4, day: 31, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 4, + day: 31, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in May mustFail(try .init(year: 2000, month: 5, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 5, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 5, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 30 days in June mustFail(try .init(year: 2000, month: 6, day: 31, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 6, day: 31, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 6, + day: 31, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in July mustFail(try .init(year: 2000, month: 7, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 7, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 7, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in August mustFail(try .init(year: 2000, month: 8, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 8, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 8, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 30 days in September mustFail(try .init(year: 2000, month: 9, day: 31, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 9, day: 31, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 9, + day: 31, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in October mustFail(try .init(year: 2000, month: 10, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 10, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 10, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 30 days in November mustFail(try .init(year: 2000, month: 11, day: 31, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 11, day: 31, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 11, + day: 31, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // only 31 days in December mustFail(try .init(year: 2000, month: 11, day: 32, hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 11, day: 32, hours: 1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 11, + day: 32, + hours: 1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid hour, negative mustFail(try .init(year: 2000, month: 1, day: 1, hours: -1, minutes: 1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: -1, minutes: 1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: -1, + minutes: 1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid hour, 24 mustFail(try .init(year: 2000, month: 1, day: 1, hours: 24, minutes: 0, seconds: 0, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: 24, minutes: 0, seconds: 0, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: 24, + minutes: 0, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid minute, negative mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: -1, seconds: 1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: -1, seconds: 1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: 0, + minutes: -1, + seconds: 1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid minute, 60 mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 60, seconds: 0, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 60, seconds: 0, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: 0, + minutes: 60, + seconds: 0, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid second, negative mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 0, seconds: -1, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 0, seconds: -1, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: 0, + minutes: 0, + seconds: -1, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid second, 62 (we allow some leap seconds) mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 0, seconds: 62, fractionalSeconds: 0)) - mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 0, seconds: 62, rawFractionalSeconds: ArraySlice())) + mustFail( + try .init( + year: 2000, + month: 1, + day: 1, + hours: 0, + minutes: 0, + seconds: 62, + rawFractionalSeconds: ArraySlice() + ) + ) // Invalid fractional seconds, negative mustFail(try .init(year: 2000, month: 1, day: 1, hours: 0, minutes: 0, seconds: 0, fractionalSeconds: -0.5)) // Invalid fractional seconds, greater than one