uint16subject.go 1.2 KB

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