import {describe, it, assert} from 'vitest'; import {PlainDateTime} from '@/plain-date-time.js'; import {ZonedDateTimeComponents} from '@/zoned-date-time.js'; let values: [Partial, PlainDateTime][] = [ [{year: 2019}, new PlainDateTime(2019, 11, 18, 15, 23, 30, 123)], [{month: 5}, new PlainDateTime(1976, 5, 18, 15, 23, 30, 123)], [{day: 5}, new PlainDateTime(1976, 11, 5, 15, 23, 30, 123)], [{hour: 5}, new PlainDateTime(1976, 11, 18, 5, 23, 30, 123)], [{minute: 5}, new PlainDateTime(1976, 11, 18, 15, 5, 30, 123)], [{second: 5}, new PlainDateTime(1976, 11, 18, 15, 23, 5, 123)], [{millisecond: 5}, new PlainDateTime(1976, 11, 18, 15, 23, 30, 5)], [{month: 5, second: 15}, new PlainDateTime(1976, 5, 18, 15, 23, 15, 123)], ]; describe('PlainTime#with', () => { describe('higher units', () => { let plainTime = new PlainDateTime(1976, 11, 18, 15, 23, 30, 123); it.each(values)('with(%j)', (duration, expected) => { let value = plainTime.with(duration); assert.ok(value.equals(expected)); }); }); });