blob: 26699e79d1655df7169c438c4e9e5ac824201bfd [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package fidlgen_cpp
import (
"fmt"
"testing"
"github.com/google/go-cmp/cmp"
)
func performEqualCheck(left interface{}, right interface{}, opts ...cmp.Option) (bool, string) {
var failed bool
var log string
if !cmp.Equal(left, right, opts...) {
failed = true
log = fmt.Sprintf(
`
Expected left/right to be equal, but
left:
%+v
right:
%+v
diff:
%v
`,
left, right, cmp.Diff(left, right, opts...))
}
return failed, log
}
func assertEqual(t *testing.T, left interface{}, right interface{}, opts ...cmp.Option) {
t.Helper()
if failed, log := performEqualCheck(left, right, opts...); failed {
t.Fatal(log)
}
}
func expectEqual(t *testing.T, left interface{}, right interface{}, opts ...cmp.Option) {
t.Helper()
if failed, log := performEqualCheck(left, right, opts...); failed {
t.Error(log)
}
}
func performNotEqualCheck(left interface{}, right interface{}, opts ...cmp.Option) (failed bool, log string) {
if cmp.Equal(left, right, opts...) {
failed = true
log = fmt.Sprintf(`
Expected left/right to be different, but
left=
%+v
=right
`, left)
}
return
}
func assertNotEqual(t *testing.T, left interface{}, right interface{}, opts ...cmp.Option) {
t.Helper()
if failed, log := performNotEqualCheck(left, right, opts...); failed {
t.Fatal(log)
}
}
func expectNotEqual(t *testing.T, left interface{}, right interface{}, opts ...cmp.Option) {
t.Helper()
if failed, log := performNotEqualCheck(left, right, opts...); failed {
t.Error(log)
}
}
func assertPanicOccurs(t *testing.T) {
if r := recover(); r == nil {
t.Errorf("The code did not panic")
}
}