func (a *assertion) IncrCallstackOffset() func() {
	return a.failer.IncrCallstackOffset()
}
Logf implements Assertion.
package audit
import (
	"fmt"
	"strings"
	"time"
)
type Test uint
const (
	Invalid Test = iota + 1
	True
	False
	Nil
	NotNil
	Equal
	Different
	Contents
	About
	Range
	Substring
	Case
	Match
	ErrorMatch
	Implementor
	Assignable
	Unassignable
	Empty
	NotEmpty
	Length
	Panics
	PathExists
	Wait
	WaitTested
	Retry
	Fail
)
func MakeSigChan() chan interface{} {
	return make(chan interface{}, 1)
}
type Assertion interface {
	SetFailable(f Failable) func()
	IncrCallstackOffset() func()
	Logf(format string, args ...interface{})
	True(obtained bool, msgs ...string) bool
	False(obtained bool, msgs ...string) bool
	Nil(obtained interface{}, msgs ...string) bool
	NotNil(obtained interface{}, msgs ...string) bool
	Equal(obtained, expected interface{}, msgs ...string) bool
	Different(obtained, expected interface{}, msgs ...string) bool
	Contents(obtained, full interface{}, msgs ...string) bool
	About(obtained, expected, extent float64, msgs ...string) bool
	Range(obtained, low, high interface{}, msgs ...string) bool
	Substring(obtained, full string, msgs ...string) bool
	Case(obtained string, upperCase bool, msgs ...string) bool
	Match(obtained, regex string, msgs ...string) bool
	ErrorMatch(obtained error, regex string, msgs ...string) bool
	Implementor(obtained, expected interface{}, msgs ...string) bool
	Assignable(obtained, expected interface{}, msgs ...string) bool
	Unassignable(obtained, expected interface{}, msgs ...string) bool
	Empty(obtained interface{}, msgs ...string) bool
	NotEmpty(obtained interface{}, msgs ...string) bool
	Length(obtained interface{}, expected int, msgs ...string) bool
	Panics(pf func(), msgs ...string) bool
	PathExists(path string, msgs ...string) bool
	Wait(sigc <-chan interface{}, expected interface{}, timeout time.Duration, msgs ...string) bool
	WaitTested(sigc <-chan interface{}, tester func(interface{}) error, timeout time.Duration, msgs ...string) bool
	Retry(rf func() bool, retries int, pause time.Duration, msgs ...string) bool
	Fail(msgs ...string) bool
}
func NewAssertion(f Failer) Assertion {
	return &assertion{
		failer: f,
	}
}
type assertion struct {
	Tester
	failer Failer
}
func (a *assertion) SetFailable(f Failable) func() {
	tf, ok := a.failer.(*testingFailer)
	if !ok {
		return func() {}
	}
	old := tf.failable
	tf.failable = f
	return func() {
		tf.failable = old
	}
}