review doctor-strange subject

This commit is contained in:
Clement Denis 2020-06-04 00:09:24 +02:00 committed by Clément
parent b25e4c1ea9
commit ef83565efa
2 changed files with 79 additions and 21 deletions

View File

@ -1,6 +1,7 @@
export const tests = []
const t = (f) => tests.push(f)
//First week year 0001
// First week year 0001
t(() => addWeek(new Date('0001-01-01')) === 'Monday')
t(() => addWeek(new Date('0001-01-02')) === 'Tuesday')
t(() => addWeek(new Date('0001-01-03')) === 'Wednesday')
@ -16,7 +17,7 @@ t(() => addWeek(new Date('0001-01-12')) === 'secondFriday')
t(() => addWeek(new Date('0001-01-13')) === 'secondSaturday')
t(() => addWeek(new Date('0001-01-14')) === 'secondSunday')
//random years
// random years
t(() => addWeek(new Date('2025-08-11')) === 'secondMonday')
t(() => addWeek(new Date('2001-05-11')) === 'secondFriday')
t(() => addWeek(new Date('2001-11-07')) === 'secondWednesday')
@ -26,27 +27,77 @@ t(() => addWeek(new Date('1995-11-07')) === 'Tuesday')
t(() => addWeek(new Date('2020-01-01')) === 'Wednesday')
t(() => addWeek(new Date('2048-12-07')) === 'Monday')
//random time traveling
const test = (time, rightTime, { eq }) =>
eq(time.getTime(), new Date(rightTime).getTime())
// random time traveling
t(({ eq }) =>
eq(
timeTravel({
date: new Date('2020-05-29 23:25:22'),
hour: 21,
minute: 22,
second: 22,
}).getTime(),
new Date('2020-05-29 21:22:22').getTime(),
),
)
t((_) =>
test(timeTravel('2020-05-29 23:25:22', 21, 22, 22), '2020-05-29 21:22:22', _)
t(({ eq }) =>
eq(
timeTravel({
date: new Date('2000-05-09 01:28:02'),
hour: 21,
minute: 22,
second: 22,
}).getTime(),
new Date('2000-05-09 21:22:22').getTime(),
),
)
t((_) =>
test(timeTravel('2000-05-09 01:28:02', 21, 22, 22), '2000-05-09 21:22:22', _)
t(({ eq }) =>
eq(
timeTravel({
date: new Date('2018-06-04 13:01:00'),
hour: 10,
minute: 16,
second: 11,
}).getTime(),
new Date('2018-06-04 10:16:11').getTime(),
),
)
t((_) =>
test(timeTravel('2018-06-04 13:01:00', 10, 16, 11), '2018-06-04 10:16:11', _)
t(({ eq }) =>
eq(
timeTravel({
date: new Date('1995-11-07 00:21:12'),
hour: 23,
minute: 12,
second: 18,
}).getTime(),
new Date('1995-11-07 23:12:18').getTime(),
),
)
t((_) =>
test(timeTravel('1995-11-07 00:21:12', 23, 12, 18), '1995-11-07 23:12:18', _)
t(({ eq }) =>
eq(
timeTravel({
date: new Date('1000-09-19 06:00:00'),
hour: 22,
minute: 10,
second: 21,
}).getTime(),
new Date('1000-09-19 22:10:21').getTime(),
),
)
t((_) =>
test(timeTravel('1000-09-19 06:00:00', 22, 10, 21), '1000-09-19 22:10:21', _)
)
t((_) =>
test(timeTravel('1975-05-10 10:07:56', 17, 15, 14), '1975-05-10 17:15:14', _)
t(({ eq }) =>
eq(
timeTravel({
date: new Date('1975-05-10 10:07:56'),
hour: 17,
minute: 15,
second: 14,
}).getTime(),
new Date('1975-05-10 17:15:14').getTime(),
),
)
Object.freeze(tests)

View File

@ -14,11 +14,18 @@ it can go backwards or forwards in time.
You will have a function that takes a date and you will pass 3 more parameters to change
the hour, minute and seconds.
### Example
```js
timeTravel(date, hour, minute, second)
timeTravel({ date, hour, minute, second })
timeTravel(new Date('2020-05-29 23:25:22'), 21, 22, 22)
Output: '21:22:22'
timeTravel({
date: new Date('2020-05-29 23:25:22'),
hour: 21,
minute: 22,
second: 22,
})
// Output: Date { 2020-05-29T21:22:22.000Z }
```