parse_hour_test.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package parse_hour
  2. import (
  3. "testing"
  4. )
  5. /*
  6. Тест для парсера времени часов
  7. */
  8. // Тестер для проверки парсера времени
  9. type tester struct {
  10. t *testing.T
  11. ph *ПарсерЧас
  12. }
  13. func TestParseHour(t *testing.T) {
  14. test := &tester{
  15. t: t,
  16. }
  17. test.create()
  18. test.parse()
  19. test.set()
  20. test.reset()
  21. }
  22. // Сброс часов в ноль
  23. func (сам *tester) reset() {
  24. сам.t.Logf("=reset=\n")
  25. сам.ph.Сброс()
  26. if strHour := сам.ph.String(); strHour != "00" {
  27. сам.t.Errorf("setGood2(): strHour(%q)!='00'\n", strHour)
  28. }
  29. }
  30. // Устанавливает целочисленное значение часов
  31. func (сам *tester) set() {
  32. сам.t.Logf("=set=\n")
  33. сам.setBad1()
  34. сам.setGood1()
  35. }
  36. func (сам *tester) setGood1() {
  37. сам.t.Logf("=setGood1=\n")
  38. if err := сам.ph.Уст("8"); err != nil {
  39. сам.t.Errorf("setGood1(): err=\n\t%v\n", err)
  40. }
  41. }
  42. // Отрицательное значение часа
  43. func (сам *tester) setBad1() {
  44. сам.t.Logf("=setBad1=\n")
  45. if err := сам.ph.Уст("-1"); err == nil {
  46. сам.t.Errorf("setBad1(): err==nil\n")
  47. }
  48. }
  49. // Устанавливает значение часов
  50. func (сам *tester) parse() {
  51. сам.t.Logf("=parse=\n")
  52. сам.parseBad1()
  53. сам.parseBad2()
  54. сам.parseGood1()
  55. сам.parseGood2()
  56. }
  57. // Установка правильных большихчасов
  58. func (сам *tester) parseGood2() {
  59. сам.t.Logf("=parseGood2=\n")
  60. if err := сам.ph.Уст("867"); err != nil {
  61. сам.t.Errorf("parseGood2(): err=\n\t%v\n", err)
  62. }
  63. if strHour := сам.ph.String(); strHour != "867" {
  64. сам.t.Errorf("parseGood2(): strHour(%q)!='867'\n", strHour)
  65. }
  66. }
  67. // Установка правильных часов
  68. func (сам *tester) parseGood1() {
  69. сам.t.Logf("=parseGood1=\n")
  70. if err := сам.ph.Уст("8"); err != nil {
  71. сам.t.Errorf("parseGood1(): err=\n\t%v\n", err)
  72. }
  73. if strHour := сам.ph.String(); strHour != "08" {
  74. сам.t.Errorf("parseGood1(): strHour(%q)!='08'\n", strHour)
  75. }
  76. }
  77. // Установка отрицательных часов
  78. func (сам *tester) parseBad2() {
  79. сам.t.Logf("=parseBad2=\n")
  80. if err := сам.ph.Уст("-1"); err == nil {
  81. сам.t.Errorf("parseBad2(): err==nil\n")
  82. }
  83. }
  84. // Установка не часов
  85. func (сам *tester) parseBad1() {
  86. сам.t.Logf("=parseBad1=\n")
  87. if err := сам.ph.Уст("abc"); err == nil {
  88. сам.t.Errorf("parseBad1(): err==nil\n")
  89. }
  90. }
  91. // Создание парсера часов
  92. func (сам *tester) create() {
  93. сам.t.Logf("=create=\n")
  94. сам.ph = НовПарсерЧас()
  95. if сам.ph == nil {
  96. сам.t.Errorf("create(): parseHour==nil\n")
  97. }
  98. if hour := сам.ph.Получ(); hour != 0 {
  99. сам.t.Errorf("create(): hour(%v)!=0\n", hour)
  100. }
  101. if strHour := сам.ph.String(); strHour != "00" {
  102. сам.t.Errorf("create(): strHour(%q)!='00'\n", strHour)
  103. }
  104. }