unix_test.go 628 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package encodedTime
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "fmt"
  6. "testing"
  7. "time"
  8. )
  9. func TestUnixUnmarshall(t *testing.T) {
  10. v := struct {
  11. Date Unix
  12. }{}
  13. err := json.Unmarshal([]byte(`{"Date":12345}`), &v)
  14. if err != nil {
  15. t.Fatal(err)
  16. }
  17. if time.Time(v.Date).Sub(time.Unix(12345, 0)) != 0 {
  18. t.Fatal(fmt.Errorf("times not equal"))
  19. }
  20. }
  21. func TestUnixMarshal(t *testing.T) {
  22. v := struct {
  23. Date Unix
  24. }{Unix(time.Unix(12345, 0))}
  25. out, err := json.Marshal(v)
  26. if err != nil {
  27. t.Fatal(err)
  28. }
  29. if bytes.Compare(out, []byte(`{"Date":12345}`)) != 0 {
  30. t.Fatal(fmt.Errorf("times not equal - got %q", out))
  31. }
  32. }