queue.AddMerge(NodeKey{1, 1})
var order []NodeKey
+
for {
key, ready := queue.Next()
if !ready {
require.True(t, ready)
queue.Fail(key)
+
_, ready = queue.Next()
require.False(t, ready)
queue.Retry()
+
key, ready = queue.Next()
require.True(t, ready)
require.Equal(t, NodeKey{1, 0}, key)
queue.Done(key)
queue.AddMerge(NodeKey{1, 0})
+
_, ready = queue.Next()
require.True(t, ready)
}