aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/stub/errors.go
blob: 4d13a67fcebe95a5c5cfcc3fa0d78f76749a5cf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package stub

import (
	"errors"
	"strconv"
)

var (
	ErrCheck = errors.New("one or more arguments did not match")
)

// UniqueError is an error that only equivalates to other [UniqueError] with the same magic value.
type UniqueError uintptr

func (e UniqueError) Error() string {
	return "unique error " + strconv.Itoa(int(e)) + " injected by the test suite"
}

func (e UniqueError) Is(target error) bool {
	var u UniqueError
	if !errors.As(target, &u) {
		return false
	}
	return e == u
}