parse_min_test.go 2.8 KB

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