Categorygithub.com/ng-vu/goconveyx
repositorypackage
0.0.0-20180602123644-10bc073ba239
Repository: https://github.com/ng-vu/goconveyx.git
Documentation: pkg.go.dev

# README

GoconveyX

Build Status Coverage Status

GoconveyX extends goconvey by providing a few more functions:

  • ShouldDeepEqual
  • ShouldResembleSlice
  • ShouldResembleByKey

Documentation

GoDoc

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

License