1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/wtf/datetime_test.go
2019-08-04 09:05:46 -07:00

103 lines
1.8 KiB
Go

package wtf
import (
"testing"
"time"
)
func Test_IsToday(t *testing.T) {
tests := []struct {
name string
date time.Time
expected bool
}{
{
name: "when yesterday",
date: time.Now().Local().AddDate(0, 0, -1),
expected: false,
},
{
name: "when today",
date: time.Now().Local(),
expected: true,
},
{
name: "when tomorrow",
date: time.Now().Local().AddDate(0, 0, +1),
expected: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actual := IsToday(tt.date)
if tt.expected != actual {
t.Errorf("\nexpected: %t\n got: %t", tt.expected, actual)
}
})
}
}
func Test_PrettyDate(t *testing.T) {
tests := []struct {
name string
date string
expected string
}{
{
name: "with empty date",
date: "",
expected: "",
},
{
name: "with invalid date",
date: "10-21-1999",
expected: "10-21-1999",
},
{
name: "with valid date",
date: "1999-10-21",
expected: "Oct 21, 1999",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actual := PrettyDate(tt.date)
if tt.expected != actual {
t.Errorf("\nexpected: %s\n got: %s", tt.expected, actual)
}
})
}
}
func Test_UnixTime(t *testing.T) {
tests := []struct {
name string
unixVal int64
expected string
}{
{
name: "with 0 time",
unixVal: 0,
expected: "1970-01-01 00:00:00 +0000 UTC",
},
{
name: "with explicit time",
unixVal: 1564883266,
expected: "2019-08-04 01:47:46 +0000 UTC",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actual := UnixTime(tt.unixVal).UTC()
if tt.expected != actual.String() {
t.Errorf("\nexpected: %s\n got: %s", tt.expected, actual)
}
})
}
}