Skip to content
Snippets Groups Projects
Commit c4147523 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'fix/PRXS-1538-AddFloatDecodeEncode' into 'master'

Добавлено кодирование и декодирование для типа float для поля Timestamp

See merge request perxis/perxis-go!85
parents b38219a5 f69d50f9
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,10 @@ func toTimestamp(i interface{}) (interface{}, error) {
return int64(v), nil
case uint32:
return int64(v), nil
case float32:
return int64(v), nil
case float64:
return int64(v), nil
default:
return nil, fmt.Errorf("unsupported value type: \"%T\"", i)
}
......
......@@ -23,19 +23,19 @@ func TestTimestamp_Decode(t *testing.T) {
{"Correct", Timestamp(), "13h10m44s", int64(47444000000000), false, ""}, // #3
{"Correct", Timestamp(), "24h", int64(86400000000000), false, ""}, // #4
{"Correct", Timestamp(), "2.5h", int64(9000000000000), false, ""}, // #5
{"Correct", Timestamp(), "-5h", int64(-18000000000000), false, ""}, // #5
{"Correct", Timestamp(), "13:10:44", int64(47444000000000), false, ""}, // #6
{"Correct", Timestamp(), "23:59:59", int64(86399000000000), false, ""}, // #7
{"Correct", Timestamp(), "00:00:00", int64(0), false, ""}, // #8
{"Correct", Timestamp(), "00:00:01", int64(1000000000), false, ""}, // #8
{"Correct", Timestamp(), uint64(2), int64(2), false, ""},
{"Correct", Timestamp(), nil, nil, false, ""},
{"Correct", Timestamp(), "-5h", int64(-18000000000000), false, ""}, // #6
{"Correct", Timestamp(), "13:10:44", int64(47444000000000), false, ""}, // #7
{"Correct", Timestamp(), "23:59:59", int64(86399000000000), false, ""}, // #8
{"Correct", Timestamp(), "00:00:00", int64(0), false, ""}, // #9
{"Correct", Timestamp(), "00:00:01", int64(1000000000), false, ""}, // #10
{"Correct", Timestamp(), uint64(2), int64(2), false, ""}, // #11
{"Correct", Timestamp(), nil, nil, false, ""}, // #12
{"Correct", Timestamp(), 2.0, int64(2), false, ""}, // #13
{"Wrong data", Timestamp(), "", nil, true, "decode error: parsing time \"\" as \"15:04:05\": cannot parse \"\" as \"15\""}, // #0
{"Wrong data", Timestamp(), []byte(""), nil, true, "decode error: unsupported value type: \"[]uint8\""}, // #1
{"Wrong data", Timestamp(), 2.2, nil, true, "decode error: unsupported value type: \"float64\""}, // #2
{"Wrong data", Timestamp(), "13:10", nil, true, "decode error: parsing time \"13:10\" as \"15:04:05\": cannot parse \"\" as \":\""}, // #3
{"Wrong data", Timestamp(), "24:00:00", nil, true, "decode error: parsing time \"24:00:00\": hour out of range"}, // #4
{"Wrong data", Timestamp(), "13:10", nil, true, "decode error: parsing time \"13:10\" as \"15:04:05\": cannot parse \"\" as \":\""}, // #2
{"Wrong data", Timestamp(), "24:00:00", nil, true, "decode error: parsing time \"24:00:00\": hour out of range"}, // #3
}
for _, tt := range tests {
......@@ -64,10 +64,10 @@ func TestTimestamp_Encode(t *testing.T) {
{"Correct", Timestamp(), int64(2), int64(2), false, ""}, // #0
{"Correct", Timestamp(), 2, int64(2), false, ""}, // #1
{"Correct", Timestamp(), uint64(2), int64(2), false, ""}, // #2
{"Correct", Timestamp(), 2.0, int64(2), false, ""}, // #3
{"Wrong data", Timestamp(), "", nil, true, "encode error: unsupported value type: \"string\""}, // #0
{"Wrong data", Timestamp(), []byte(""), nil, true, "encode error: unsupported value type: \"[]uint8\""}, // #1
{"Wrong data", Timestamp(), 2.2, nil, true, "encode error: unsupported value type: \"float64\""}, // #2
}
for _, tt := range tests {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment