parsehour_test.go 2.2 KB

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