|
|
@@ -5,7 +5,8 @@ import (
|
|
|
"time"
|
|
|
"wartank/pkg/alias"
|
|
|
"wartank/pkg/components/safe_bool"
|
|
|
- "wartank/pkg/mock/mock_zone"
|
|
|
+
|
|
|
+ // "wartank/pkg/mock/mock_zone"
|
|
|
"wartank/pkg/mock/mockapp"
|
|
|
"wartank/pkg/types"
|
|
|
)
|
|
|
@@ -25,12 +26,12 @@ type tester struct {
|
|
|
}
|
|
|
|
|
|
// Обратный вызов для счётчика времени
|
|
|
-func (sf *tester) call() {
|
|
|
- if sf.ct == nil {
|
|
|
+func (сам *tester) call() {
|
|
|
+ if сам.ct == nil {
|
|
|
return
|
|
|
}
|
|
|
- if sf.ct.канВызов != nil {
|
|
|
- <-sf.ct.канВызов
|
|
|
+ if сам.ct.канВызов != nil {
|
|
|
+ <-сам.ct.канВызов
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -49,206 +50,206 @@ func TestCountTime(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
// Оменяет работу таймера
|
|
|
-func (sf *tester) cancel() {
|
|
|
- sf.t.Logf("=cancel=\n")
|
|
|
- _ = НовВремОбрат(sf.zone, 0)
|
|
|
- sf.app.CancelApp()
|
|
|
+func (сам *tester) cancel() {
|
|
|
+ сам.t.Logf("=cancel=\n")
|
|
|
+ _ = НовВремОбрат(сам.zone, 0)
|
|
|
+ сам.app.CancelApp()
|
|
|
time.Sleep(time.Millisecond * 150)
|
|
|
}
|
|
|
|
|
|
// Проверяет обработчик тика
|
|
|
-func (sf *tester) checkTick() {
|
|
|
- времОбрат := НовВремОбрат(sf.zone, 0)
|
|
|
+func (сам *tester) checkTick() {
|
|
|
+ времОбрат := НовВремОбрат(сам.zone, 0)
|
|
|
{ // Секундный тик
|
|
|
времОбрат.Уст("00:00:08")
|
|
|
time.Sleep(time.Second * 1)
|
|
|
if val := времОбрат.String(); val != "00:00:08" {
|
|
|
- sf.t.Errorf("checkTick(): счётчик(%v)!='00:00:08'", val)
|
|
|
+ сам.t.Errorf("checkTick(): счётчик(%v)!='00:00:08'", val)
|
|
|
}
|
|
|
}
|
|
|
{ // Проверка времени прямо сейчас
|
|
|
time.Sleep(time.Millisecond * 100)
|
|
|
if val := времОбрат.String(); val != "00:00:08" {
|
|
|
- sf.t.Errorf("checkTick(): счётчик(%v)!='00:00:08'", val)
|
|
|
+ сам.t.Errorf("checkTick(): счётчик(%v)!='00:00:08'", val)
|
|
|
}
|
|
|
}
|
|
|
{ // Проверка обратного вызова прямо сейчас
|
|
|
strTime := alias.Время(time.Now().UTC().Format("15:04:05"))
|
|
|
времОбрат.Уст(strTime)
|
|
|
if val := времОбрат.String(); val != string(strTime) {
|
|
|
- sf.t.Errorf("checkTick(): счётчик(%v)!=%s", val, strTime)
|
|
|
+ сам.t.Errorf("checkTick(): счётчик(%v)!=%s", val, strTime)
|
|
|
}
|
|
|
// Выход из функции -- и есть факт обратного вызова
|
|
|
- sf.call()
|
|
|
+ сам.call()
|
|
|
{ // Проверка отсутствия обратного вызова прямо сейчас
|
|
|
времОбрат.Уст("00:00:00")
|
|
|
// Выход из функции -- и есть факт обратного вызова
|
|
|
- sf.call()
|
|
|
+ сам.call()
|
|
|
if val := времОбрат.ПолучМилСек(); val != 0 {
|
|
|
- sf.t.Errorf("checkTick(): счётчик(%v)!=0", val)
|
|
|
+ сам.t.Errorf("checkTick(): счётчик(%v)!=0", val)
|
|
|
}
|
|
|
времОбрат.Стоп()
|
|
|
- sf.app.CancelApp()
|
|
|
+ сам.app.CancelApp()
|
|
|
time.Sleep(time.Millisecond * 50)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func (sf *tester) setStrBad1(strBad alias.Время) {
|
|
|
+func (сам *tester) setStrBad1(strBad alias.Время) {
|
|
|
defer func() {
|
|
|
if _panic := recover(); _panic == nil {
|
|
|
- sf.t.Errorf("setStrBad1(): panic==nil\n")
|
|
|
+ сам.t.Errorf("setStrBad1(): panic==nil\n")
|
|
|
}
|
|
|
}()
|
|
|
- if sf.err = sf.ct.Уст(strBad); sf.err == nil {
|
|
|
- sf.t.Errorf("setStrBad1(): BAD-2 err==nil")
|
|
|
+ if сам.err = сам.ct.Уст(strBad); сам.err == nil {
|
|
|
+ сам.t.Errorf("setStrBad1(): BAD-2 err==nil")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Устанавливает строковое значение времени
|
|
|
-func (sf *tester) setStr() {
|
|
|
- go sf.call()
|
|
|
- ct := НовВремОбрат(sf.zone, 0)
|
|
|
+func (сам *tester) setStr() {
|
|
|
+ go сам.call()
|
|
|
+ ct := НовВремОбрат(сам.zone, 0)
|
|
|
{ // BAD-1 пустая строка
|
|
|
- if sf.err = ct.Уст(""); sf.err == nil {
|
|
|
- sf.t.Errorf("setStr(): BAD-1 err==nil")
|
|
|
+ if сам.err = ct.Уст(""); сам.err == nil {
|
|
|
+ сам.t.Errorf("setStr(): BAD-1 err==nil")
|
|
|
}
|
|
|
}
|
|
|
// BAD-2 неформатная строка
|
|
|
- sf.setStrBad1(":::")
|
|
|
+ сам.setStrBad1(":::")
|
|
|
// BAD-3 кривые часы
|
|
|
- sf.setStrBad1("a1:02:03")
|
|
|
+ сам.setStrBad1("a1:02:03")
|
|
|
// BAD-4 кривые минуты
|
|
|
- sf.setStrBad1("01:a2:03")
|
|
|
+ сам.setStrBad1("01:a2:03")
|
|
|
// BAD-5 кривые секунды
|
|
|
- sf.setStrBad1("01:02:a3")
|
|
|
+ сам.setStrBad1("01:02:a3")
|
|
|
// BAD-6 кривые только секунды
|
|
|
- sf.setStrBad1("a3")
|
|
|
+ сам.setStrBad1("a3")
|
|
|
// BAD-7 кривые минуты +секунды
|
|
|
- sf.setStrBad1("a2:03")
|
|
|
+ сам.setStrBad1("a2:03")
|
|
|
// BAD-8 кривые часы +минуты +секунды
|
|
|
- sf.setStrBad1("a1:02:03")
|
|
|
+ сам.setStrBad1("a1:02:03")
|
|
|
// BAD-9 минуты +кривые секунды
|
|
|
- sf.setStrBad1("02:a3")
|
|
|
+ сам.setStrBad1("02:a3")
|
|
|
// BAD-10 кривые минуты +секунды
|
|
|
- sf.setStrBad1("60:03")
|
|
|
+ сам.setStrBad1("60:03")
|
|
|
// BAD-11 кривые минуты +секунды
|
|
|
- sf.setStrBad1("-1:03")
|
|
|
+ сам.setStrBad1("-1:03")
|
|
|
// BAD-12 минуты +кривые секунды
|
|
|
- sf.setStrBad1("01:60")
|
|
|
+ сам.setStrBad1("01:60")
|
|
|
// BAD-13 минуты +кривые секунды
|
|
|
- sf.setStrBad1("01:-1")
|
|
|
+ сам.setStrBad1("01:-1")
|
|
|
// BAD-14 кривые часы +минуты + секунды
|
|
|
- sf.setStrBad1("-1:02:03")
|
|
|
+ сам.setStrBad1("-1:02:03")
|
|
|
// BAD-15 кривые часы +минуты + секунды
|
|
|
- //sf.setStrBad1("24:02:03")
|
|
|
+ //сам.setStrBad1("24:02:03")
|
|
|
{ // GOOD-1 секунды
|
|
|
- if sf.err = ct.Уст("03"); sf.err != nil {
|
|
|
- sf.t.Errorf("setStr(): GOOD-1 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("03"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setStr(): GOOD-1 err=%v", сам.err)
|
|
|
}
|
|
|
}
|
|
|
{ // GOOD-2 минуты секунды
|
|
|
- if sf.err = ct.Уст("02:03"); sf.err != nil {
|
|
|
- sf.t.Errorf("setStr(): GOOD-2 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("02:03"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setStr(): GOOD-2 err=%v", сам.err)
|
|
|
}
|
|
|
}
|
|
|
{ // GOOD-3 часы минуты секунды
|
|
|
- if sf.err = ct.Уст("01:02:03"); sf.err != nil {
|
|
|
- sf.t.Errorf("setStr(): GOOD-3 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("01:02:03"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setStr(): GOOD-3 err=%v", сам.err)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Устанавливает число секунд для отсчёта
|
|
|
-func (sf *tester) setInt() {
|
|
|
- go sf.call()
|
|
|
- sf.zone = mock_zone.НовМокСцена()
|
|
|
- ct := НовВремОбрат(sf.zone, 0)
|
|
|
+func (сам *tester) setInt() {
|
|
|
+ go сам.call()
|
|
|
+ // сам.zone = mock_zone.НовМокСцена()
|
|
|
+ ct := НовВремОбрат(сам.zone, 0)
|
|
|
{ // GOOD-1
|
|
|
- if sf.err = ct.Уст("8"); sf.err != nil {
|
|
|
- sf.t.Errorf("setInt(): GOOD-1 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("8"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setInt(): GOOD-1 err=%v", сам.err)
|
|
|
}
|
|
|
if ct.остатПарсер.Час().Получ() != 0 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-1 hour(%v)!=0", sf.ct.остатПарсер.Час().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-1 hour(%v)!=0", сам.ct.остатПарсер.Час().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Мин().Получ() != 0 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-1 min(%v)!=0", sf.ct.остатПарсер.Мин().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-1 min(%v)!=0", сам.ct.остатПарсер.Мин().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Сек().Получ() != 8 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-1 sec(%v)!=8", sf.ct.остатПарсер.Сек().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-1 sec(%v)!=8", сам.ct.остатПарсер.Сек().Получ())
|
|
|
}
|
|
|
if strVal := ct.String(); strVal != "00:00:08" {
|
|
|
- sf.t.Errorf("setInt(): GOOD-1 strVal(%v)!='00:00:08'", strVal)
|
|
|
+ сам.t.Errorf("setInt(): GOOD-1 strVal(%v)!='00:00:08'", strVal)
|
|
|
}
|
|
|
}
|
|
|
{ // GOOD-2
|
|
|
- if sf.err = ct.Уст("121"); sf.err != nil {
|
|
|
- sf.t.Errorf("setInt(): GOOD-2 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("121"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setInt(): GOOD-2 err=%v", сам.err)
|
|
|
}
|
|
|
if ct.остатПарсер.Час().Получ() != 0 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-2 hour(%v)!=0", sf.ct.остатПарсер.Час().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-2 hour(%v)!=0", сам.ct.остатПарсер.Час().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Мин().Получ() != 2 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-2 min(%v)!=2", sf.ct.остатПарсер.Мин().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-2 min(%v)!=2", сам.ct.остатПарсер.Мин().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Сек().Получ() != 1 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-2 sec(%v)!=1", sf.ct.остатПарсер.Сек().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-2 sec(%v)!=1", сам.ct.остатПарсер.Сек().Получ())
|
|
|
}
|
|
|
if strVal := ct.String(); strVal != "00:02:01" {
|
|
|
- sf.t.Errorf("setInt(): GOOD-2 strVal(%v)!='00:02:01'", strVal)
|
|
|
+ сам.t.Errorf("setInt(): GOOD-2 strVal(%v)!='00:02:01'", strVal)
|
|
|
}
|
|
|
}
|
|
|
{ // GOOD-3
|
|
|
- if sf.err = ct.Уст("7203"); sf.err != nil {
|
|
|
- sf.t.Errorf("setInt(): GOOD-3 err=%v", sf.err)
|
|
|
+ if сам.err = ct.Уст("7203"); сам.err != nil {
|
|
|
+ сам.t.Errorf("setInt(): GOOD-3 err=%v", сам.err)
|
|
|
}
|
|
|
if ct.остатПарсер.Час().Получ() != 2 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-3 hour(%v)!=2", sf.ct.остатПарсер.Час().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-3 hour(%v)!=2", сам.ct.остатПарсер.Час().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Мин().Получ() != 0 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-3 min(%v)!=0", sf.ct.остатПарсер.Мин().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-3 min(%v)!=0", сам.ct.остатПарсер.Мин().Получ())
|
|
|
}
|
|
|
if ct.остатПарсер.Сек().Получ() != 3 {
|
|
|
- sf.t.Errorf("setInt(): GOOD-3 sec(%v)!=3", sf.ct.остатПарсер.Сек().Получ())
|
|
|
+ сам.t.Errorf("setInt(): GOOD-3 sec(%v)!=3", сам.ct.остатПарсер.Сек().Получ())
|
|
|
}
|
|
|
if strVal := ct.String(); strVal != "02:00:03" {
|
|
|
- sf.t.Errorf("setInt(): GOOD-3 strVal(%v)!='02:00:03'", strVal)
|
|
|
+ сам.t.Errorf("setInt(): GOOD-3 strVal(%v)!='02:00:03'", strVal)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Нет обратного канала
|
|
|
-func (sf *tester) createBad1() {
|
|
|
+func (сам *tester) createBad1() {
|
|
|
defer func() {
|
|
|
if _panic := recover(); _panic == nil {
|
|
|
- sf.t.Errorf("createBad1(): panic==nil")
|
|
|
+ сам.t.Errorf("createBad1(): panic==nil")
|
|
|
}
|
|
|
}()
|
|
|
- sf.ct = НовВремОбрат(nil, 0)
|
|
|
- if sf.ct != nil {
|
|
|
- sf.t.Errorf("createBad1(): countTime!=nil")
|
|
|
+ сам.ct = НовВремОбрат(nil, 0)
|
|
|
+ if сам.ct != nil {
|
|
|
+ сам.t.Errorf("createBad1(): countTime!=nil")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Правильное создание
|
|
|
-func (sf *tester) createGood1() {
|
|
|
+func (сам *tester) createGood1() {
|
|
|
defer func() {
|
|
|
if _panic := recover(); _panic != nil {
|
|
|
- sf.t.Errorf("createGood1(): panic=\n\t%v", _panic)
|
|
|
+ сам.t.Errorf("createGood1(): panic=\n\t%v", _panic)
|
|
|
}
|
|
|
}()
|
|
|
- sf.zone = mock_zone.НовМокСцена()
|
|
|
- ct := НовВремОбрат(sf.zone, 1)
|
|
|
+ // сам.zone = mock_zone.НовМокСцена()
|
|
|
+ ct := НовВремОбрат(сам.zone, 1)
|
|
|
if ct == nil {
|
|
|
- sf.t.Errorf("createGood1(): countTime==nil")
|
|
|
+ сам.t.Errorf("createGood1(): countTime==nil")
|
|
|
}
|
|
|
if val := ct.ПолучМилСек(); val != 0 {
|
|
|
- sf.t.Errorf("createGood1(): val(%v)!=0", val)
|
|
|
+ сам.t.Errorf("createGood1(): val(%v)!=0", val)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Создание счётчика обратного времени
|
|
|
-func (sf *tester) create() {
|
|
|
- sf.createBad1()
|
|
|
- sf.createGood1()
|
|
|
+func (сам *tester) create() {
|
|
|
+ сам.createBad1()
|
|
|
+ сам.createGood1()
|
|
|
}
|