Functional Weave
Code in Python

dates.week-number@1.0.0

vectors.json

2,600 bytes · view raw

[
  {"name": "an ordinary Wednesday in September", "args": ["2026-09-23"], "expect": {"weekYear": 2026, "week": 39, "label": "2026-W39"}},
  {"name": "1 January 2026 is a Thursday, so it is in week 1", "args": ["2026-01-01"], "expect": {"weekYear": 2026, "week": 1, "label": "2026-W01"}},
  {"name": "1 January 2027 is a Friday and belongs to week 53 of 2026, not week 1 of 2027", "args": ["2027-01-01"], "expect": {"weekYear": 2026, "week": 53, "label": "2026-W53"}},
  {"name": "Sunday 3 January 2027 still ends week 53 of 2026", "args": ["2027-01-03"], "expect": {"weekYear": 2026, "week": 53, "label": "2026-W53"}},
  {"name": "Monday 4 January 2027 starts week 1 of 2027", "args": ["2027-01-04"], "expect": {"weekYear": 2027, "week": 1, "label": "2027-W01"}},
  {"name": "30 December 2024 is in week 1 of 2025: calendar year and week-year differ", "args": ["2024-12-30"], "expect": {"weekYear": 2025, "week": 1, "label": "2025-W01"}},
  {"name": "29 December 2008 is in week 1 of 2009", "args": ["2008-12-29"], "expect": {"weekYear": 2009, "week": 1, "label": "2009-W01"}},
  {"name": "2020 had 53 weeks: 31 December 2020 is in week 53", "args": ["2020-12-31"], "expect": {"weekYear": 2020, "week": 53, "label": "2020-W53"}},
  {"name": "3 January 2021 is still in week 53 of 2020", "args": ["2021-01-03"], "expect": {"weekYear": 2020, "week": 53, "label": "2020-W53"}},
  {"name": "2015 had 53 weeks", "args": ["2015-12-31"], "expect": {"weekYear": 2015, "week": 53, "label": "2015-W53"}},
  {"name": "31 December 2026 is in week 53 of 2026", "args": ["2026-12-31"], "expect": {"weekYear": 2026, "week": 53, "label": "2026-W53"}},
  {"name": "2004 was a leap year starting on Thursday, so it had 53 weeks", "args": ["2004-12-31"], "expect": {"weekYear": 2004, "week": 53, "label": "2004-W53"}},
  {"name": "3 January 2010 belongs to week 53 of 2009", "args": ["2010-01-03"], "expect": {"weekYear": 2009, "week": 53, "label": "2009-W53"}},
  {"name": "1 January 1900 was a Monday: week 1", "args": ["1900-01-01"], "expect": {"weekYear": 1900, "week": 1, "label": "1900-W01"}},
  {"name": "the first supported date was a Monday: 0001-W01", "args": ["0001-01-01"], "expect": {"weekYear": 1, "week": 1, "label": "0001-W01"}},
  {"name": "the last supported date is in week 52 of 9999", "args": ["9999-12-31"], "expect": {"weekYear": 9999, "week": 52, "label": "9999-W52"}},
  {"name": "an impossible date is an error", "args": ["2026-02-29"], "expectError": "is not a real calendar date"},
  {"name": "an ISO week string is not a date", "args": ["2026-W39"], "expectError": "is not an ISO date"}
]