2025-12-16
#js 
とうほくプロコン2025の作品、SICA-HEALが教えてくれた魚の旬。季節を扱うクラスがあると便利なので、日時ライブラリ day-es に、Seasons.js を追記しました。


「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月を秋と定義しましたが、昨今の気象変動を勘案するとちょっとずらしたほうがいいのかも?

実は、テストコード、パラメータ指定なしで現在日時で季節を返すので、春がくるとテストがエラーとなります。

links
- ARゴーグルでお魚料理支援、とうほくプロコン2025作品データの活用法

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS