-
Notifications
You must be signed in to change notification settings - Fork 116
Open
Description
Hi,
I noticed this because I've been writing an llrb, and on my own project I can't get deletion to test as correct when using top down 2-3-4 insertion (see post on golang-nuts).
I wanted to check my sanity (I've pored over the code so many times to see if I'm doing something stupid), so I inserted one of my failing deletion tests into GoLLRB and it gives equivalent behaviour (passes on bottom up 2-3 and fails catastrophically on top down 2-3-4).
func TestRandomInsertionDeletion(t *testing.T) {
count, max := 100000, 1000
tree := New(IntLess)
for i := 0; i < count; i++ {
if rand.Float64() < 0.5 {
tree.ReplaceOrInsert(rand.Intn(max))
}
if rand.Float64() < 0.5 {
tree.Delete(rand.Intn(max))
}
}
}
The test is obviously very vicious, but is fine with the standard 2-3 GoLLRB insertion mode.
Any ideas?
Metadata
Metadata
Assignees
Labels
No labels