| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package parser_time
- import (
- "testing"
- )
- /*
- Тест для парсинга времени
- */
- // Тестер для парсера времени
- type tester struct {
- t *testing.T
- pars *ПарсерВремя
- }
- func TestParseTime(t *testing.T) {
- test := &tester{
- t: t,
- }
- test.create()
- test.parse()
- }
- // Создание парсера
- func (сам *tester) create() {
- сам.t.Logf("=create=\n")
- сам.pars = НовПарсерВремя()
- if сам.pars.час == nil {
- сам.t.Errorf("create(): hour==nil\n")
- }
- if сам.pars.мин == nil {
- сам.t.Errorf("create(): min==nil\n")
- }
- if сам.pars.сек == nil {
- сам.t.Errorf("create(): sec==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 0 {
- сам.t.Errorf("create(): valInt(%d)!=0\n", val)
- }
- _ = сам.pars.String()
- }
- // Парсинг строки времени
- func (сам *tester) parse() {
- сам.t.Logf("=parse=\n")
- сам.parseBad1()
- сам.parseSec()
- сам.parseSecBad1()
- сам.parseMin()
- сам.parseMinSecBad1()
- сам.parseMinMinBad1()
- сам.parseHour()
- сам.parseHourSecBad1()
- сам.parseHourMinBad1()
- сам.parseHourHourBad1()
- }
- func (сам *tester) parseHourHourBad1() {
- сам.t.Logf("=parseHourHourBad1=\n")
- if err := сам.pars.Уст("-11:14:54"); err == nil {
- сам.t.Errorf("parseHourHourBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 5820 {
- сам.t.Errorf("parseHourHourBad1(): valInt(%d)!=5820\n", val)
- }
- if hour := сам.pars.Час().Получ(); hour != 1 {
- сам.t.Errorf("parseHourHourBad1(): hour(%d)!=1\n", hour)
- }
- if min := сам.pars.Мин().Получ(); min != 14 {
- сам.t.Errorf("parseHourHourBad1(): min(%d)!=14\n", min)
- }
- if sec := сам.pars.Сек().Получ(); sec != 54 {
- сам.t.Errorf("parseHourHourBad1(): sec(%d)!=54\n", sec)
- }
- }
- func (сам *tester) parseHourMinBad1() {
- сам.t.Logf("=parseHourMinBad1=\n")
- if err := сам.pars.Уст("01:-4:01"); err == nil {
- сам.t.Errorf("parseHourMinBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 5820 {
- сам.t.Errorf("parseHourMinBad1(): valInt(%d)!=5820\n", val)
- }
- }
- func (сам *tester) parseHourSecBad1() {
- сам.t.Logf("=parseHourSecBad1=\n")
- if err := сам.pars.Уст("01:37:a"); err == nil {
- сам.t.Errorf("parseHourSecBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 5820 {
- сам.t.Errorf("parseHourSecBad1(): valInt(%d)!=5820\n", val)
- }
- }
- func (сам *tester) parseHour() {
- сам.t.Logf("=parseHour=\n")
- if err := сам.pars.Уст("01:37:00"); err != nil {
- сам.t.Errorf("parseHour(): err=\n\t%v\n", err)
- }
- if val := сам.pars.ПолучМилСек(); val != 5820 {
- сам.t.Errorf("parseHour(): valInt(%d)!=5820\n", val)
- }
- }
- func (сам *tester) parseMinMinBad1() {
- сам.t.Logf("=parseMinMinBad1=\n")
- if err := сам.pars.Уст("60:25"); err == nil {
- сам.t.Errorf("parseMinMinBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 444 {
- сам.t.Errorf("parseMinMinBad1(): valInt(%d)!=444\n", val)
- }
- }
- func (сам *tester) parseMinSecBad1() {
- сам.t.Logf("=parseMinSecBad1=\n")
- if err := сам.pars.Уст("07:-1"); err == nil {
- сам.t.Errorf("parseMinSecBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 7*60+24 {
- сам.t.Errorf("parseMinSecBad1(): valInt(%d)!=7*60+24\n", val)
- }
- }
- func (сам *tester) parseMin() {
- сам.t.Logf("=parseMin=\n")
- if err := сам.pars.Уст("07:24"); err != nil {
- сам.t.Errorf("parseMin(): err=\n\t%v\n", err)
- }
- if val := сам.pars.ПолучМилСек(); val != 7*60+24 {
- сам.t.Errorf("parseMin(): valInt(%d)!=7*60+24\n", val)
- }
- }
- // Слишком большие секунды
- func (сам *tester) parseSecBad1() {
- сам.t.Logf("=parseSecBad1=\n")
- if err := сам.pars.Уст("60"); err == nil {
- сам.t.Errorf("parseSecBad1(): err==nil\n")
- }
- if val := сам.pars.ПолучМилСек(); val != 28 {
- сам.t.Errorf("parseSecBad1(): valInt(%d)!=28\n", val)
- }
- }
- func (сам *tester) parseSec() {
- сам.t.Logf("=parseSec=\n")
- if err := сам.pars.Уст("28"); err != nil {
- сам.t.Errorf("parseSec(): err=\n\t%v\n", err)
- }
- if val := сам.pars.ПолучМилСек(); val != 28 {
- сам.t.Errorf("parseSec(): valInt(%d)!=28\n", val)
- }
- }
- // Нет строки для парсинга
- func (сам *tester) parseBad1() {
- сам.t.Logf("=parseBad1=\n")
- if err := сам.pars.Уст(""); err == nil {
- сам.t.Errorf("parseBad1(): err==nil\n")
- }
- }
|