string.go 861 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package assert
  2. import (
  3. "strings"
  4. )
  5. func (this *Assert) String(value string) *StringSubject {
  6. return &StringSubject{
  7. Subject: Subject{
  8. a: this,
  9. disp: value,
  10. },
  11. value: value,
  12. }
  13. }
  14. type StringSubject struct {
  15. Subject
  16. value string
  17. }
  18. func (subject *StringSubject) Equals(expectation string) {
  19. if subject.value != expectation {
  20. subject.Fail("is equal to", expectation)
  21. }
  22. }
  23. func (subject *StringSubject) NotEquals(expectation string) {
  24. if subject.value == expectation {
  25. subject.Fail("is not equal to ", expectation)
  26. }
  27. }
  28. func (subject *StringSubject) Contains(substring string) {
  29. if !strings.Contains(subject.value, substring) {
  30. subject.Fail("contains", substring)
  31. }
  32. }
  33. func (subject *StringSubject) NotContains(substring string) {
  34. if strings.Contains(subject.value, substring) {
  35. subject.Fail("doesn't contain", substring)
  36. }
  37. }