sort_test.go 914 B

123456789101112131415161718192021222324252627
  1. package rule
  2. import (
  3. "ehang.io/nps/core/handler"
  4. "ehang.io/nps/core/process"
  5. "sort"
  6. "testing"
  7. )
  8. func TestSort_Len(t *testing.T) {
  9. r1 := &Rule{Handler: &handler.DefaultHandler{}, Process: &process.TransparentProcess{}}
  10. r2 := &Rule{Handler: &handler.DefaultHandler{}, Process: &process.DefaultProcess{}}
  11. r3 := &Rule{Handler: &handler.DefaultHandler{}, Process: &process.HttpServeProcess{RouteUrl: "/test/aaa"}}
  12. r4 := &Rule{Handler: &handler.DefaultHandler{}, Process: &process.Socks5Process{}}
  13. r5 := &Rule{Handler: &handler.DefaultHandler{}, Process: &process.HttpServeProcess{RouteUrl: "/test"}}
  14. r6 := &Rule{Handler: &handler.HttpsHandler{}, Process: &process.HttpsProxyProcess{}}
  15. s := make(Sort, 0)
  16. s = append(s, r1, r2, r3, r4, r5, r6)
  17. sort.Sort(s)
  18. expected := make(Sort, 0)
  19. expected = append(expected, r6, r5, r3, r4, r1, r2)
  20. for k, v := range expected {
  21. if v != s[k] {
  22. t.Fail()
  23. }
  24. }
  25. }