1
0
Fork 0
mirror of https://github.com/Luzifer/rconfig.git synced 2024-11-14 02:32:44 +00:00
rconfig/duration_test.go

35 lines
664 B
Go
Raw Normal View History

package rconfig
import (
"testing"
"time"
)
func TestDurationParsing(t *testing.T) {
var (
args = []string{
"--duration=23s", "-o", "45m",
}
cfg struct {
Test time.Duration `flag:"duration"`
TestS time.Duration `flag:"other-duration,o"`
TestDef time.Duration `default:"30h"`
}
)
if err := parse(&cfg, args); err != nil {
t.Fatalf("Parsing options caused error: %s", err)
}
for _, test := range [][2]interface{}{
{cfg.Test, 23 * time.Second},
{cfg.TestS, 45 * time.Minute},
{cfg.TestDef, 30 * time.Hour},
} {
if test[0] != test[1] {
t.Errorf("Expected value does not match: %#v != %#v", test[0], test[1])
}
}
}