package kcp_test import ( "testing" "v2ray.com/core/testing/assert" . "v2ray.com/core/transport/internet/kcp" ) func TestSendingWindow(t *testing.T) { assert := assert.On(t) window := NewSendingWindow(5, nil, nil) window.Push(0, []byte{}) window.Push(1, []byte{}) window.Push(2, []byte{}) assert.Int(window.Len()).Equals(3) window.Remove(1) assert.Int(window.Len()).Equals(3) assert.Uint32(window.FirstNumber()).Equals(0) window.Remove(0) assert.Int(window.Len()).Equals(1) assert.Uint32(window.FirstNumber()).Equals(2) window.Remove(0) assert.Int(window.Len()).Equals(0) window.Push(4, []byte{}) assert.Int(window.Len()).Equals(1) assert.Uint32(window.FirstNumber()).Equals(4) window.Push(5, []byte{}) assert.Int(window.Len()).Equals(2) window.Remove(1) assert.Int(window.Len()).Equals(2) window.Remove(0) assert.Int(window.Len()).Equals(0) }