receiving_test.go 715 B

1234567891011121314151617181920212223242526272829303132
  1. package kcp_test
  2. import (
  3. "testing"
  4. "github.com/v2ray/v2ray-core/testing/assert"
  5. . "github.com/v2ray/v2ray-core/transport/internet/kcp"
  6. )
  7. func TestRecivingWindow(t *testing.T) {
  8. assert := assert.On(t)
  9. window := NewReceivingWindow(3)
  10. seg0 := &Segment{}
  11. seg1 := &Segment{}
  12. seg2 := &Segment{}
  13. seg3 := &Segment{}
  14. assert.Bool(window.Set(0, seg0)).IsTrue()
  15. assert.Pointer(window.RemoveFirst()).Equals(seg0)
  16. assert.Bool(window.Set(1, seg1)).IsTrue()
  17. assert.Bool(window.Set(2, seg2)).IsTrue()
  18. window.Advance()
  19. assert.Bool(window.Set(2, seg3)).IsTrue()
  20. assert.Pointer(window.RemoveFirst()).Equals(seg1)
  21. assert.Pointer(window.Remove(1)).Equals(seg2)
  22. assert.Pointer(window.Remove(2)).Equals(seg3)
  23. }