sending_test.go 801 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package kcp_test
  2. import (
  3. "testing"
  4. . "v2ray.com/core/transport/internet/kcp"
  5. . "v2ray.com/ext/assert"
  6. )
  7. func TestSendingWindow(t *testing.T) {
  8. assert := With(t)
  9. window := NewSendingWindow(5, nil, nil)
  10. window.Push(0)
  11. window.Push(1)
  12. window.Push(2)
  13. assert(window.Len(), Equals, 3)
  14. window.Remove(1)
  15. assert(window.Len(), Equals, 3)
  16. assert(window.FirstNumber(), Equals, uint32(0))
  17. window.Remove(0)
  18. assert(window.Len(), Equals, 1)
  19. assert(window.FirstNumber(), Equals, uint32(2))
  20. window.Remove(0)
  21. assert(window.Len(), Equals, 0)
  22. window.Push(4)
  23. assert(window.Len(), Equals, 1)
  24. assert(window.FirstNumber(), Equals, uint32(4))
  25. window.Push(5)
  26. assert(window.Len(), Equals, 2)
  27. window.Remove(1)
  28. assert(window.Len(), Equals, 2)
  29. window.Remove(0)
  30. assert(window.Len(), Equals, 0)
  31. }