tables_test.go 732 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package datamodel
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. type timeTestCase struct {
  7. In []byte
  8. Out time.Time
  9. }
  10. func timeHelper(tm time.Time, err error) time.Time {
  11. return tm
  12. }
  13. func TestLogTime_UnmarshalJSON(t *testing.T) {
  14. var (
  15. testcase = []timeTestCase{
  16. {[]byte(`"2018-11-11"`), timeHelper(time.ParseInLocation("2006-01-02", "2018-11-11", time.Local))},
  17. {[]byte(`1542795906`), time.Unix(1542795906, 0)},
  18. }
  19. )
  20. for _, testcase := range testcase {
  21. var ltm LogTime
  22. var err = ltm.UnmarshalJSON(testcase.In)
  23. if err != nil {
  24. t.Errorf("err=%v", err)
  25. t.Fail()
  26. continue
  27. }
  28. if int64(ltm.Time()) != testcase.Out.Unix() {
  29. t.Errorf("expect=%d, get=%d", testcase.Out, ltm.Time())
  30. t.Fail()
  31. continue
  32. }
  33. }
  34. }