| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- 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(&DataSegment{
 
- 		Number: 0,
 
- 	})
 
- 	window.Push(&DataSegment{
 
- 		Number: 1,
 
- 	})
 
- 	window.Push(&DataSegment{
 
- 		Number: 2,
 
- 	})
 
- 	assert.Int(window.Len()).Equals(3)
 
- 	window.Remove(1)
 
- 	assert.Int(window.Len()).Equals(3)
 
- 	assert.Uint32(window.First().Number).Equals(0)
 
- 	window.Remove(0)
 
- 	assert.Int(window.Len()).Equals(1)
 
- 	assert.Uint32(window.First().Number).Equals(2)
 
- 	window.Remove(0)
 
- 	assert.Int(window.Len()).Equals(0)
 
- 	window.Push(&DataSegment{
 
- 		Number: 4,
 
- 	})
 
- 	assert.Int(window.Len()).Equals(1)
 
- 	assert.Uint32(window.First().Number).Equals(4)
 
- 	window.Push(&DataSegment{
 
- 		Number: 5,
 
- 	})
 
- 	assert.Int(window.Len()).Equals(2)
 
- 	window.Remove(1)
 
- 	assert.Int(window.Len()).Equals(2)
 
- 	window.Remove(0)
 
- 	assert.Int(window.Len()).Equals(0)
 
- }
 
 
  |