summaryrefslogtreecommitdiff
path: root/spec/activity_spec.lua
blob: 074be22a7173a374c0a0bdfba37c764c3827af8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
local activity = require "activity"

describe("Days in a year", function()
	it("should support regular years", function()
		assert.are.equal(365, activity.days_in(1970))
		assert.are.equal(365, activity.days_in(2001))
	end)

	it("should support lean years", function()
		assert.are.equal(366, activity.days_in(2004))
		assert.are.equal(366, activity.days_in(1980))
	end)

	it("should support *00 years", function()
		assert.are.equal(366, activity.days_in(2000))
		assert.are.equal(365, activity.days_in(2100))
		assert.are.equal(365, activity.days_in(2200))
		assert.are.equal(365, activity.days_in(2300))
		assert.are.equal(366, activity.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, activity.this_year())
	end)
end)

describe("First week day of", function()
	it("2023 is Sunday", function()
		assert.are.equal(1, activity.first_week_day(2023))
	end)

	it("2022 is Saturday", function()
		assert.are.equal(7, activity.first_week_day(2022))
	end)

	it("2020 is Saturday", function()
		assert.are.equal(4, activity.first_week_day(2020))
	end)
end)