test_utils.go raw
1 package util
2
3 import (
4 "reflect"
5 )
6
7 func Equal(expected, actual interface{}) bool {
8 if expected == nil && actual == nil {
9 return true
10 }
11 if expected == nil || actual == nil {
12 return false
13 }
14 actualType := reflect.TypeOf(actual)
15 expectedValue := reflect.ValueOf(expected)
16 if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) {
17 return reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual)
18 }
19 return reflect.DeepEqual(expected, actual)
20 }
21