package def_bool import ( "testing" "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner" ) type tester0 struct { t *testing.T lBool *LBool owner *owner.LOwner } func TestLetBool(t *testing.T) { sf := &tester0{ t: t, owner: owner.LetOwner(1, "test_let_bool"), } sf.let() sf.bool() sf.let2() } // Получение значения func (sf *tester0) let2() { sf.t.Log("let2") sf.let2Good1() sf.let2Bad1() } // Поменялся владелец func (sf *tester0) let2Bad1() { sf.t.Log("let2Bad1") owner := owner.LetOwner(2, "test_owner2") _ = sf.lBool.Move(owner) defer func() { if _panic := recover(); _panic == nil { sf.t.Fatalf("let2Bad1(): %v", _panic) } }() _ = sf.lBool.IsOk() } func (sf *tester0) let2Good1() { sf.t.Log("let2Good1") lBool := sf.lBool.Let() if lBool.IsOk() { sf.t.Fatalf("let2Good1(): val == true") } _ = lBool.String() } // Проверка значений func (sf *tester0) bool() { sf.t.Log("bool") if sf.lBool.IsNot() { sf.t.Fatalf("bool(): val == false") } sf.lBool.val = false if sf.lBool.IsOk() { sf.t.Fatalf("bool(): val == true") } } // Создание булева внутреннего значения func (sf *tester0) let() { sf.t.Log("let") sf.letBad1() sf.letGoo1() } func (sf *tester0) letGoo1() { // Создание внутреннего булева значения sf.t.Log("letGoo1") sf.lBool = LetBool(sf.owner, true) if sf.lBool.IsNot() { sf.t.Fatalf("letGoo1(): val.IsOk() == false") } } // Нет владельца func (sf *tester0) letBad1() { // Создание внутреннего булева значения sf.t.Log("letBad2") defer func() { if _panic := recover(); _panic == nil { sf.t.Fatalf("letBad1(): panic==nil") } }() _ = LetBool(nil, false) }