You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
732 B
39 lines
732 B
package datamodel |
|
|
|
import ( |
|
"testing" |
|
"time" |
|
) |
|
|
|
type timeTestCase struct { |
|
In []byte |
|
Out time.Time |
|
} |
|
|
|
func timeHelper(tm time.Time, err error) time.Time { |
|
return tm |
|
} |
|
func TestLogTime_UnmarshalJSON(t *testing.T) { |
|
var ( |
|
testcase = []timeTestCase{ |
|
{[]byte(`"2018-11-11"`), timeHelper(time.ParseInLocation("2006-01-02", "2018-11-11", time.Local))}, |
|
{[]byte(`1542795906`), time.Unix(1542795906, 0)}, |
|
} |
|
) |
|
|
|
for _, testcase := range testcase { |
|
var ltm LogTime |
|
var err = ltm.UnmarshalJSON(testcase.In) |
|
if err != nil { |
|
t.Errorf("err=%v", err) |
|
t.Fail() |
|
continue |
|
} |
|
|
|
if int64(ltm.Time()) != testcase.Out.Unix() { |
|
t.Errorf("expect=%d, get=%d", testcase.Out, ltm.Time()) |
|
t.Fail() |
|
continue |
|
} |
|
} |
|
}
|
|
|