package parse_min import ( "testing" ) /* Тест для парсера времени часов */ // Тестер для проверки парсера времени type tester struct { t *testing.T ph *ПарсерМинут } func TestParseMin(t *testing.T) { test := &tester{ t: t, } test.create() test.parse() test.set() test.reset() } // Устанавливает целочисленное значение func (sf *tester) set() { sf.t.Logf("=set=\n") sf.setGood1() sf.setBad1() } // Кривое число минут func (sf *tester) setBad1() { sf.t.Logf("=setBad1=\n") if err := sf.ph.УстМин(60); err == nil { sf.t.Errorf("setBad1(): err==nil\n") } if strHour := sf.ph.String(); strHour != "08" { sf.t.Errorf("setBad1(): strHour(%q)!='08'\n", strHour) } } func (sf *tester) setGood1() { sf.t.Logf("=setGood1=\n") if err := sf.ph.УстМин(8); err != nil { sf.t.Errorf("setGood1(): err=\n\t%v\n", err) } if strHour := sf.ph.String(); strHour != "08" { sf.t.Errorf("setGood1(): strHour(%q)!='08'\n", strHour) } } // Сброс часов в ноль func (sf *tester) reset() { sf.t.Logf("=reset=\n") sf.ph.Сброс() if strHour := sf.ph.String(); strHour != "00" { sf.t.Errorf("reset(): strHour(%q)!='00'\n", strHour) } } // Устанавливает значение минут func (sf *tester) parse() { sf.t.Logf("=parse=\n") sf.parseBad1() sf.parseBad2() sf.parseGood1() } // Установка правильных минут func (sf *tester) parseGood1() { sf.t.Logf("=parseGood1=\n") if err := sf.ph.Уст("8"); err != nil { sf.t.Errorf("parseGood1(): err=\n\t%v\n", err) } if strHour := sf.ph.String(); strHour != "08" { sf.t.Errorf("parseGood1(): strHour(%q)!='08'\n", strHour) } } // Установка отрицательных минут func (sf *tester) parseBad2() { sf.t.Logf("=parseBad2=\n") if err := sf.ph.Уст("-1"); err == nil { sf.t.Errorf("parseBad2(): err==nil\n") } } // Установка не минут func (sf *tester) parseBad1() { sf.t.Logf("=parseBad1=\n") if err := sf.ph.Уст("abc"); err == nil { sf.t.Errorf("parseBad1(): err==nil\n") } } // Создание парсера минут func (sf *tester) create() { sf.t.Logf("=create=\n") sf.ph = НовПарсерМинут() if sf.ph == nil { sf.t.Errorf("create(): parseHour==nil\n") } if мин := sf.ph.Получ(); мин != 0 { sf.t.Errorf("create(): мин(%v)!=0\n", мин) } if стрМин := sf.ph.String(); стрМин != "00" { sf.t.Errorf("create(): стрМин(%q)!='00'\n", стрМин) } }