repositorypackage
0.0.0-20180602123644-10bc073ba239
Repository: https://github.com/ng-vu/goconveyx.git
Documentation: pkg.go.dev
# README
GoconveyX
GoconveyX extends goconvey by providing a few more functions:
- ShouldDeepEqual
- ShouldResembleSlice
- ShouldResembleByKey
Documentation
ShouldDeepEqual
ShouldDeepEqual
is the same as
ShouldResemble
with better error message.
ShouldResembleSlice
ShouldResembleSlice
does deep equal comparison on two slices without ordering.
ShouldResembleSlice([]int{1, 2, 3}, []int{1, 2, 3}) // true
ShouldResembleSlice([]int{1, 2, 3}, []int{3, 1, 2}) // true
ShouldResembleSlice([]int{1, 2, 3}, []int{1, 2, 3, 1}) // false
ShouldResembleByKey
ShouldResembleByKey
does deep equal comparison on two slices sorted by given
key. It works on slices with map and struct as element. It's useful when you
want to compare rows retrieved from database.
type M map[string]interface{}
ShouldResembleByKey("id")(
[]M{{"id": 1, "v": 10}, {"id": 2, "v": 20}},
[]M{{"id": 2, "v": 20}, {"id": 1, "v": 10}},
) // true
ShouldResembleByKey("id")(
[]M{{"id": 1, "v": 10}, {"id": 2, "v": 20}},
[]M{{"id": 2, "v": 10}, {"id": 1, "v": 20}},
) // false