From a0a70042aebf820ad8d7c5376478f704517609be Mon Sep 17 00:00:00 2001 From: "Guillaume J. Charmes" Date: Fri, 5 Dec 2014 10:18:20 -0500 Subject: [PATCH] Add unit test --- parse_test.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 parse_test.go diff --git a/parse_test.go b/parse_test.go new file mode 100644 index 0000000..dd26a7f --- /dev/null +++ b/parse_test.go @@ -0,0 +1,30 @@ +package timeutils + +import ( + "os" + "testing" +) + +var testData = []struct{ in, out string }{ + {"2014-12-05 09:51:20.939152 -0500", "2014-12-05 14:51:20.939152 +0000 UTC"}, + {"2014-12-05 09:51:20.939152 -0500 EST", "2014-12-05 14:51:20.939152 +0000 UTC"}, + {"2014-12-05 09:51:20.939152", "2014-12-05 09:51:20.939152 +0000 UTC"}, + {"2014/12/05 09:51:20.939152", "2014-12-05 09:51:20.939152 +0000 UTC"}, + {"2014.12.05 09:51:20.939152", "2014-12-05 09:51:20.939152 +0000 UTC"}, + {"09:51:20.939152 2014-31-12", "2014-12-31 09:51:20.939152 +0000 UTC"}, + {"09:51:20.939152am 2014-31-12", "2014-12-31 09:51:20.939152 +0000 UTC"}, + {"09:51:20.939152pm 2014-31-12", "2014-12-31 21:51:20.939152 +0000 UTC"}, +} + +func TestParseDateString(t *testing.T) { + defer os.Setenv("TZ", os.Getenv("TZ")) + os.Setenv("TZ", "UTC") + + for i, elem := range testData { + if tt, err := ParseDateString(elem.in); err != nil { + t.Error(err) + } else if elem.out != tt.String() { + t.Errorf("[%d] Unexpected parsed time.\nExpect:\t%s\nGot:\t%s\n", i, elem.out, tt) + } + } +}