func makeTree(te *testing.T, x []int32, check bool) (t *T, k int, min, max int32) { … }
func applicInsert(te *testing.T, x []int32) { … }
func applicFind(te *testing.T, x []int32) { … }
func applicBounds(te *testing.T, x []int32) { … }
func applicDeleteMin(te *testing.T, x []int32) { … }
func applicDeleteMax(te *testing.T, x []int32) { … }
func applicDelete(te *testing.T, x []int32) { … }
func applicIterator(te *testing.T, x []int32) { … }
func equiv(a, b interface{ … }
func applicEquals(te *testing.T, x, y []int32) { … }
func tree(x []int32) *T { … }
func treePlus1(x []int32) *T { … }
func TestApplicInsert(t *testing.T) { … }
func TestApplicFind(t *testing.T) { … }
func TestBounds(t *testing.T) { … }
func TestDeleteMin(t *testing.T) { … }
func TestDeleteMax(t *testing.T) { … }
func TestDelete(t *testing.T) { … }
func TestIterator(t *testing.T) { … }
func TestEquals(t *testing.T) { … }
func first(x, y interface{ … }
func second(x, y interface{ … }
func alwaysNil(x, y interface{ … }
func smaller(x, y interface{ … }
func assert(t *testing.T, expected, got *T, what string) { … }
func TestSetOps(t *testing.T) { … }
type sstring …
func (s *sstring) String() string { … }
func stringer(s string) interface{ … }
func (t *T) wellFormed() (s string, i int) { … }
func (t *node32) wellFormedSubtree(parent *node32, keyMin, keyMax int32) (s string, i int) { … }
func (t *T) DebugString() string { … }
func (t *node32) DebugString(indent int) string { … }