metarhia/metautil

Add tests for parseEvery & nextEvent

tshemsedinov opened this issue · 1 comments

Now we have tests for:

  • parseEvery:

    metautil/test/utilities.js

    Lines 260 to 278 in a0bc899

    'metautil.parseEvery': [
    ['', { YY: -1, MM: -1, DD: -1, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ['3s', { YY: -1, MM: -1, DD: -1, wd: -1, hh: -1, mm: -1, ms: 3000 }],
    [':30', { YY: -1, MM: -1, DD: -1, wd: -1, hh: -1, mm: 30, ms: -1 }],
    ['17:', { YY: -1, MM: -1, DD: -1, wd: -1, hh: 17, mm: 0, ms: -1 }],
    ['Apr', { YY: -1, MM: 4, DD: -1, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ['5th', { YY: -1, MM: -1, DD: 5, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ['Sun', { YY: -1, MM: -1, DD: -1, wd: 1, hh: -1, mm: -1, ms: -1 }],
    ['Apr 3s', { YY: -1, MM: 4, DD: -1, wd: -1, hh: -1, mm: -1, ms: 3000 }],
    ['5th 3s', { YY: -1, MM: -1, DD: 5, wd: -1, hh: -1, mm: -1, ms: 3000 }],
    ['Sun 3s', { YY: -1, MM: -1, DD: -1, wd: 1, hh: -1, mm: -1, ms: 3000 }],
    ['17:30', { YY: -1, MM: -1, DD: -1, wd: -1, hh: 17, mm: 30, ms: -1 }],
    ['1st :30', { YY: -1, MM: -1, DD: 1, wd: -1, hh: -1, mm: 30, ms: -1 }],
    ['2nd 17:', { YY: -1, MM: -1, DD: 2, wd: -1, hh: 17, mm: 0, ms: -1 }],
    ['Sun 4th', { YY: -1, MM: -1, DD: 4, wd: 1, hh: -1, mm: -1, ms: -1 }],
    ['Apr 3rd', { YY: -1, MM: 4, DD: 3, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ['10th Apr', { YY: -1, MM: 4, DD: 10, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ['2022 Apr', { YY: 2022, MM: 4, DD: -1, wd: -1, hh: -1, mm: -1, ms: -1 }],
    ],
  • nextEvent:

    metautil/test/utilities.js

    Lines 279 to 330 in a0bc899

    'metautil.nextEvent': [
    [
    { YY: -1, MM: -1, DD: -1, wd: -1, hh: -1, mm: -1, ms: -1 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    0,
    ],
    [
    { YY: 2021, MM: 2, DD: 4, wd: 4, hh: 5, mm: 6, ms: 100 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    -1,
    ],
    [
    { YY: 2021, MM: 7, DD: -1, wd: -1, hh: -1, mm: -1, ms: 5000 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    5000,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: -1, hh: -1, mm: -1, ms: 5000 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    5000,
    ],
    [
    { YY: 2021, MM: 8, DD: 1, wd: -1, hh: -1, mm: -1, ms: 5000 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    0,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: 3, hh: -1, mm: -1, ms: 5000 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    5000,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: 3, hh: 15, mm: 30, ms: -1 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    12600000,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: 3, hh: -1, mm: -1, ms: 12600000 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    12600000,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: 3, hh: 11, mm: 30, ms: -1 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    -1,
    ],
    [
    { YY: 2021, MM: 7, DD: 20, wd: 3, hh: 13, mm: 30, ms: -1 },
    new Date('Tue, 20 Jul 2021 12:00:00 GMT'),
    5400000,
    ],
    ],

Before optimizing parseEvery and nextEvent we need more tests.

@tshemsedinov
I want to do this task
but i need to explaine
what you think about "need more tests"?

Question:
why this test not work
['65s', { YY: -1, MM: -1, DD: -1, wd: -1, hh: -1, mm: 1, ms: 5000 }],
and 65s not divide to 1 minute and 5 seconds

not ok declarative
--- wanted
+++ found
-{"YY":-1,"MM":-1,"DD":-1,"wd":-1,"hh":-1,"mm":1,"ms":5000}
+{"YY":-1,"MM":-1,"DD":-1,"wd":-1,"hh":-1,"mm":-1,"ms":65000}
message: function metautil.parseEvery("65s")