1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-14 11:23:02 +02:00
ferret/pkg/runtime/values/string_test.go
Tim Voronov 14dd7ac40b
Fixed incorrect String.length (#238)
* Fixed incorrect String.length
2019-02-24 13:21:34 -05:00

38 lines
715 B
Go

package values_test
import (
"github.com/MontFerret/ferret/pkg/runtime/values"
. "github.com/smartystreets/goconvey/convey"
"testing"
)
func TestString(t *testing.T) {
Convey(".Hash", t, func() {
Convey("It should calculate hash", func() {
v := values.NewString("a")
h := v.Hash()
So(h, ShouldBeGreaterThan, 0)
v2 := values.NewString("b")
So(h, ShouldNotEqual, v2.Hash())
})
Convey("Hash sum should be consistent", func() {
v := values.NewString("foobar")
So(v.Hash(), ShouldEqual, v.Hash())
})
})
Convey(".Length", t, func() {
Convey("Should return unicode length", func() {
str := values.NewString("Спутник")
So(str.Length(), ShouldEqual, 7)
})
})
}