ip.go 494 B

123456789101112131415161718192021222324252627282930313233
  1. package assert
  2. import (
  3. "bytes"
  4. "net"
  5. )
  6. func (this *Assert) IP(value net.IP) *IPSubject {
  7. return &IPSubject{
  8. Subject: Subject{
  9. a: this,
  10. disp: value.String(),
  11. },
  12. value: value,
  13. }
  14. }
  15. type IPSubject struct {
  16. Subject
  17. value net.IP
  18. }
  19. func (subject *IPSubject) IsNil() {
  20. if subject.value != nil {
  21. subject.Fail("is", "nil")
  22. }
  23. }
  24. func (subject *IPSubject) Equals(ip net.IP) {
  25. if !bytes.Equal([]byte(subject.value), []byte(ip)) {
  26. subject.Fail("equals to", ip.String())
  27. }
  28. }