func cmpValueSlices(expected, found []Value) string {
	if len(expected) != len(found) {
		return fmt.Sprintf("length mis-match: expected number of values to be %v, but found %v", len(expected), len(found))
	}

	for i, exp := range expected {
		fnd := found[i]
		if diff := cmp.Diff(exp.Type(), fnd.Type()); diff != "" {
			return diff
		}

		if exp.IsNull() != fnd.IsNull() {
			return fmt.Sprintf("item %d expected IsNull %v but found %v", i, exp.IsNull(), fnd.IsNull())
		}

		if diff := cmp.Diff(exp.Binary(), fnd.Binary()); diff != "" {
			return fmt.Sprintf("item %d of Type %s Binary() %s", i, fnd.Type(), diff)
		}

		if diff := cmp.Diff(string(exp.Text()), string(fnd.Text())); diff != "" {
			return fmt.Sprintf("item %d of type %s Text() %s", i, fnd.Type(), diff)
		}

		if diff := cmpAnnotations(exp.Annotations(), fnd.Annotations()); diff != "" {
			return diff
		}

		if diff := cmpValueResults(exp, fnd); diff != "" {
			return fmt.Sprintf("item %d of type %s: %s", i, exp.Type(), diff)
		}
	}
	return ""
}
// cmpValueSlices compares the results of the calls to Binary(), Text(), and Value() of each
// element of the given Value slices.
cmpValueSlices compares the results of the calls to Binary(), Text(), and Value() of each
element of the given Value slices.
// cmpValueSlices compares the results of the calls to Binary () Text () and Value () of each // element of the given Value slices .
func cmpValueSlices(expected, found []Value) string {
	if len(expected) != len(found) {
		return fmt.Sprintf("length mis-match: expected number of values to be %v, but found %v", len(expected), len(found))
	}
	for i, exp := range expected {
		fnd := found[i]
		if diff := cmp.Diff(exp.Type(), fnd.Type()); diff != "" {
			return diff
		}
		if exp.IsNull() != fnd.IsNull() {
			return fmt.Sprintf("item %d expected IsNull %v but found %v", i, exp.IsNull(), fnd.IsNull())
		}
		if diff := cmp.Diff(exp.Binary(), fnd.Binary()); diff != "" {
			return fmt.Sprintf("item %d of Type %s Binary() %s", i, fnd.Type(), diff)
		}
		if diff := cmp.Diff(string(exp.Text()), string(fnd.Text())); diff != "" {
			return fmt.Sprintf("item %d of type %s Text() %s", i, fnd.Type(), diff)
		}
		if diff := cmpAnnotations(exp.Annotations(), fnd.Annotations()); diff != "" {
			return diff
		}
		if diff := cmpValueResults(exp, fnd); diff != "" {
			return fmt.Sprintf("item %d of type %s: %s", i, exp.Type(), diff)
		}
	}
	return ""
}
func cmpValueSlices ( expected , found [ ] Value ) string { if len ( expected ) != len ( found ) { return fmt . Sprintf ( " " , len ( expected ) , len ( found ) ) } for i , exp := range expected { fnd := found [ i ] if diff := cmp . Diff ( exp . Type ( ) , fnd . Type ( ) ) ; diff != " " { return diff } if exp . IsNull ( ) != fnd . IsNull ( ) { return fmt . Sprintf ( " " , i , exp . IsNull ( ) , fnd . IsNull ( ) ) } if diff := cmp . Diff ( exp . Binary ( ) , fnd . Binary ( ) ) ; diff != " " { return fmt . Sprintf ( " " , i , fnd . Type ( ) , diff ) } if diff := cmp . Diff ( string ( exp . Text ( ) ) , string ( fnd . Text ( ) ) ) ; diff != " " { return fmt . Sprintf ( " " , i , fnd . Type ( ) , diff ) } if diff := cmpAnnotations ( exp . Annotations ( ) , fnd . Annotations ( ) ) ; diff != " " { return diff } if diff := cmpValueResults ( exp , fnd ) ; diff != " " { return fmt . Sprintf ( " " , i , exp . Type ( ) , diff ) } } return " " }
cmpValueSlices compares the results of the calls to Binary(), Text(), and Value() of each
element of the given Value slices.
cmpValueSlices compares the results of the calls to Binary () Text () and Value () of each element of the given Value slices .