1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-13 01:02:28 +08:00

feat: add Max, Min, and MaxMin for datetime package

This commit is contained in:
dudaodong
2024-11-07 15:47:22 +08:00
parent e2ff83649a
commit 643edc1468
5 changed files with 194 additions and 61 deletions

View File

@@ -521,3 +521,60 @@ func TestGenerateDatetimesBetween(t *testing.T) {
}
})
}
func TestMin(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestMin")
zeroTime := time.Time{}
now := time.Now()
oneMinuteAgo := now.Add(-time.Minute)
oneMinuteAfter := now.Add(time.Minute)
assert.Equal(zeroTime, Min(zeroTime, now, oneMinuteAgo, oneMinuteAfter))
assert.Equal(zeroTime, Min(now, zeroTime))
assert.Equal(oneMinuteAgo, Min(oneMinuteAgo, now, oneMinuteAfter))
}
func TestMax(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestMax")
zeroTime := time.Time{}
now := time.Now()
oneMinuteAgo := now.Add(-time.Minute)
oneMinuteAfter := now.Add(time.Minute)
assert.Equal(oneMinuteAfter, Max(zeroTime, now, oneMinuteAgo, oneMinuteAfter))
assert.Equal(now, Max(now, zeroTime))
assert.Equal(oneMinuteAfter, Max(oneMinuteAgo, now, oneMinuteAfter))
}
func TestMaxMin(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestMinMax")
zeroTime := time.Time{}
now := time.Now()
oneMinuteAgo := now.Add(-time.Minute)
oneMinuteAfter := now.Add(time.Minute)
max, min := MaxMin(zeroTime, now, oneMinuteAgo, oneMinuteAfter)
assert.Equal(zeroTime, min)
assert.Equal(oneMinuteAfter, max)
max, min = MaxMin(now, zeroTime)
assert.Equal(zeroTime, min)
assert.Equal(now, max)
max, min = MaxMin(oneMinuteAgo, now, oneMinuteAfter)
assert.Equal(oneMinuteAgo, min)
assert.Equal(oneMinuteAfter, max)
}