
「code4fukui/day-es」
日時を扱う時に便利です!
テストコードは下記の通り。
import * as t from "https://deno.land/std/testing/asserts.ts"; import { getSeason } from "./Seasons.js"; Deno.test("simple", () => { t.assertEquals(getSeason(), "winter"); // 2025-12 t.assertEquals(getSeason(new Date("2025-12-01")), "winter"); t.assertEquals(getSeason(new Date("2025-03-01")), "spring"); t.assertEquals(getSeason(new Date("2025-06-01")), "summer"); t.assertEquals(getSeason(new Date("2025-09-01")), "autumn"); t.assertEquals(getSeason(new Date("2025-11-30")), "autumn"); }); Deno.test("ja", () => { t.assertEquals(getSeason(new Date("2025-12-01"), "ja"), "冬"); t.assertEquals(getSeason(new Date("2025-03-01"), "ja"), "春"); t.assertEquals(getSeason(new Date("2025-06-01"), "ja"), "夏"); t.assertEquals(getSeason(new Date("2025-09-01"), "ja"), "秋"); });
deno test コマンドで使うと、ライブラリにバグがないことをテストコードの範囲内で確認できます。
$ deno test Seasons.test.js running 2 tests from ./Seasons.test.js simple ... ok (0ms) ja ... ok (0ms) ok | 2 passed | 0 failed (3ms)
12月-2月を冬、3月-5月を春、6月-8月を夏、9月-11月を秋と定義しましたが、昨今の気象変動を勘案するとちょっとずらしたほうがいいのかも?
実は、テストコード、パラメータ指定なしで現在日時で季節を返すので、春がくるとテストがエラーとなります。
とうほくプロコン2025の作品、
Fri Night