| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- package parsesec
- import (
- "testing"
- )
- /*
- Тест для парсера времени секунд
- */
- // Тестер для проверки парсера времени
- type tester struct {
- t *testing.T
- ph *ParseSec
- }
- func TestParsesec(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.setBad1()
- sf.setGood1()
- }
- func (sf *tester) setGood1() {
- sf.t.Logf("=setGood1=\n")
- if err := sf.ph.Set(26); err != nil {
- sf.t.Errorf("setGood1(): err=\n\t%v\n", err)
- }
- if strHour := sf.ph.String(); strHour != "26" {
- sf.t.Errorf("setGood1(): strHour(%q)!='26'\n", strHour)
- }
- }
- // Отрицательные секунды
- func (sf *tester) setBad1() {
- sf.t.Logf("=setBad1=\n")
- if err := sf.ph.Set(-1); err == nil {
- sf.t.Errorf("setBad1(): err==nil\n")
- }
- if strHour := sf.ph.String(); strHour != "59" {
- sf.t.Errorf("setBad1(): strHour(%q)!='59'\n", strHour)
- }
- }
- // Сброс секунд в ноль
- func (sf *tester) reset() {
- sf.t.Logf("=reset=\n")
- sf.ph.Reset()
- if strSec := sf.ph.String(); strSec != "00" {
- sf.t.Errorf("setGood2(): strSec(%q)!='00'\n", strSec)
- }
- }
- // Устанавливает значение секунд
- func (sf *tester) parse() {
- sf.t.Logf("=parse=\n")
- sf.parseBad1()
- sf.parseBad2()
- sf.parseBad3()
- sf.parseGood1()
- sf.parseGood2()
- }
- // Установка правильных секунд
- func (sf *tester) parseGood2() {
- sf.t.Logf("=parseGood2=\n")
- defer func() {
- if _panic := recover(); _panic != nil {
- sf.t.Errorf("parseGood2(): panic=\n\t%v\n", _panic)
- }
- }()
- _ = sf.ph.Parse("59")
- if strHour := sf.ph.String(); strHour != "59" {
- sf.t.Errorf("parseGood2(): strHour(%q)!='867'\n", strHour)
- }
- }
- // Установка правильных часов
- func (sf *tester) parseGood1() {
- sf.t.Logf("=parseGood1=\n")
- defer func() {
- if _panic := recover(); _panic != nil {
- sf.t.Errorf("parseGood1(): panic=\n\t%v\n", _panic)
- }
- }()
- sf.ph.Parse("8")
- if strHour := sf.ph.String(); strHour != "08" {
- sf.t.Errorf("parseGood1(): strHour(%q)!='08'\n", strHour)
- }
- }
- // Установка больших часов
- func (sf *tester) parseBad3() {
- sf.t.Logf("=parseBad3=\n")
- if err := sf.ph.Parse("61"); err == nil {
- sf.t.Errorf("parseBad3(): err==nil\n")
- }
- }
- // Установка отрицательных часов
- func (sf *tester) parseBad2() {
- sf.t.Logf("=parseBad2=\n")
- if err := sf.ph.Parse("-1"); err == nil {
- sf.t.Errorf("parseBad2(): err==nil\n")
- }
- }
- // Установка не часов
- func (sf *tester) parseBad1() {
- sf.t.Logf("=parseBad1=\n")
- if err := sf.ph.Parse("abc"); err == nil {
- sf.t.Errorf("parseBad1(): err==nil\n")
- }
- }
- // Создание парсера часов
- func (sf *tester) create() {
- sf.t.Logf("=create=\n")
- sf.ph = NewParseSec()
- if sf.ph == nil {
- sf.t.Errorf("create(): parseHour==nil\n")
- }
- if hour := sf.ph.Get(); hour != 0 {
- sf.t.Errorf("create(): hour(%v)!=0\n", hour)
- }
- if strHour := sf.ph.String(); strHour != "00" {
- sf.t.Errorf("create(): strHour(%q)!='00'\n", strHour)
- }
- }
|