portsubject.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package unit
  2. import (
  3. v2net "github.com/v2ray/v2ray-core/common/net"
  4. "github.com/v2ray/v2ray-core/testing/assert"
  5. )
  6. func Port(value v2net.Port) *PortSubject {
  7. return &PortSubject{value: value}
  8. }
  9. type PortSubject struct {
  10. *assert.Subject
  11. value v2net.Port
  12. }
  13. func (subject *PortSubject) Named(name string) *PortSubject {
  14. subject.Subject.Named(name)
  15. return subject
  16. }
  17. func (subject *PortSubject) Fail(verb string, other v2net.Port) {
  18. subject.FailWithMessage("Not true that " + subject.DisplayString() + " " + verb + " <" + other.String() + ">.")
  19. }
  20. func (subject *PortSubject) DisplayString() string {
  21. return subject.Subject.DisplayString(subject.value.String())
  22. }
  23. func (subject *PortSubject) Equals(expectation v2net.Port) {
  24. if subject.value.Value() != expectation.Value() {
  25. subject.Fail("is equal to", expectation)
  26. }
  27. }
  28. func (subject *PortSubject) GreaterThan(expectation v2net.Port) {
  29. if subject.value.Value() <= expectation.Value() {
  30. subject.Fail("is greater than", expectation)
  31. }
  32. }
  33. func (subject *PortSubject) LessThan(expectation v2net.Port) {
  34. if subject.value.Value() >= expectation.Value() {
  35. subject.Fail("is less than", expectation)
  36. }
  37. }