hasUnixNanoseconds function

Matcher hasUnixNanoseconds(
  1. Object seconds,
  2. Object nanoseconds
)

Matches the full precision Unix time of a HasInstant.

The seconds and nanoseconds parts must be matched separately to avoid overflow.

Implementation

Matcher hasUnixNanoseconds(Object seconds, Object nanoseconds) =>
    isA<HasInstant>().having(
        (t) => t.toInstant().unixTimestamp,
        'unixTimestamp',
        isA<Timespan>()
            .having((u) => u.seconds, 'seconds', seconds)
            .having((u) => u.nanosecondPart, 'nanosecondPart', nanoseconds));