uint16subject.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package assert
  2. import (
  3. "strconv"
  4. )
  5. func Uint16(value uint16) *Uint16Subject {
  6. return &Uint16Subject{value: value}
  7. }
  8. type Uint16Subject struct {
  9. Subject
  10. value uint16
  11. }
  12. func (subject *Uint16Subject) Named(name string) *Uint16Subject {
  13. subject.Subject.Named(name)
  14. return subject
  15. }
  16. func (subject *Uint16Subject) Fail(verb string, other uint16) {
  17. subject.FailWithMessage("Not true that " + subject.DisplayString() + " " + verb + " <" + strconv.Itoa(int(other)) + ">.")
  18. }
  19. func (subject *Uint16Subject) DisplayString() string {
  20. return subject.Subject.DisplayString(strconv.Itoa(int(subject.value)))
  21. }
  22. func (subject *Uint16Subject) Equals(expectation uint16) {
  23. if subject.value != expectation {
  24. subject.Fail("is equal to", expectation)
  25. }
  26. }
  27. func (subject *Uint16Subject) GreaterThan(expectation uint16) {
  28. if subject.value <= expectation {
  29. subject.Fail("is greater than", expectation)
  30. }
  31. }
  32. func (subject *Uint16Subject) LessThan(expectation uint16) {
  33. if subject.value >= expectation {
  34. subject.Fail("is less than", expectation)
  35. }
  36. }
  37. func (subject *Uint16Subject) Positive() {
  38. if subject.value <= 0 {
  39. subject.FailWithMessage("Not true that " + subject.DisplayString() + " is positive.")
  40. }
  41. }