summaryrefslogtreecommitdiff
path: root/spec/dates_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/dates_spec.lua')
-rw-r--r--spec/dates_spec.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/dates_spec.lua b/spec/dates_spec.lua
new file mode 100644
index 0000000..6239fdc
--- /dev/null
+++ b/spec/dates_spec.lua
@@ -0,0 +1,43 @@
+local dates = require "activity.dates"
+
+describe("Days in a year", function()
+ it("should support regular years", function()
+ assert.are.equal(365, dates.days_in(1970))
+ assert.are.equal(365, dates.days_in(2001))
+ end)
+
+ it("should support lean years", function()
+ assert.are.equal(366, dates.days_in(2004))
+ assert.are.equal(366, dates.days_in(1980))
+ end)
+
+ it("should support *00 years", function()
+ assert.are.equal(366, dates.days_in(2000))
+ assert.are.equal(365, dates.days_in(2100))
+ assert.are.equal(365, dates.days_in(2200))
+ assert.are.equal(365, dates.days_in(2300))
+ assert.are.equal(366, dates.days_in(2400))
+ end)
+end)
+
+describe("This year is", function()
+ local this_year = os.date "%Y" -- Quite useless test
+
+ it(tostring(this_year), function()
+ assert.are.equal(this_year, dates.this_year())
+ end)
+end)
+
+describe("First week day of", function()
+ it("2023 is Sunday", function()
+ assert.are.equal(1, dates.first_week_day(2023))
+ end)
+
+ it("2022 is Saturday", function()
+ assert.are.equal(7, dates.first_week_day(2022))
+ end)
+
+ it("2020 is Saturday", function()
+ assert.are.equal(4, dates.first_week_day(2020))
+ end)
+end)