1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-02-09 13:38:35 +02:00
ferret/pkg/runtime/values/float_test.go

45 lines
855 B
Go
Raw Normal View History

2018-10-05 15:17:22 -04:00
package values_test
import (
"encoding/json"
2018-10-05 15:17:22 -04:00
"github.com/MontFerret/ferret/pkg/runtime/values"
. "github.com/smartystreets/goconvey/convey"
"testing"
)
func TestFloat(t *testing.T) {
Convey(".Hash", t, func() {
Convey("It should calculate hash", func() {
v := values.NewFloat(1.1)
h := v.Hash()
So(h, ShouldBeGreaterThan, 0)
v2 := values.NewFloat(1.2)
So(h, ShouldNotEqual, v2.Hash())
})
Convey("Hash sum should be consistent", func() {
v := values.NewFloat(1.1)
So(v.Hash(), ShouldEqual, v.Hash())
})
})
Convey(".MarshalJSON", t, func() {
Convey("It should correctly serialize value", func() {
value := float64(10)
json1, err := json.Marshal(value)
So(err, ShouldBeNil)
json2, err := values.NewFloat(value).MarshalJSON()
So(err, ShouldBeNil)
So(json1, ShouldResemble, json2)
})
})
2018-10-05 15:17:22 -04:00
}