func TestViewMergesInTheOrderOfTheRollbackPush(t *testing.T) {
tree := ViewBuiltTree{}
+
view := newView(0, 0)
+
var states *ViewPushEntry
+
for tick := range 20001 {
states = viewPush(tick, states)
starts := states.starts()
func TestViewMergesInOneBatchFromHighToLow(t *testing.T) {
tree := ViewBuiltTree{}
+
view := newView(10, 5)
sizes := make([]int, 0, 20)
for range 20 {
_, err := view.Append(tree)
require.NoError(t, err)
+
sizes = append(sizes, view.Size())
}
// starts returns the states of the list, oldest first.
func (e *ViewPushEntry) starts() []int {
var starts []int
+
for entry := e; entry != nil; entry = entry.older {
starts = append(starts, entry.state)
}