|
|
@@ -0,0 +1,118 @@
|
|
|
+package def_bool
|
|
|
+
|
|
|
+import (
|
|
|
+ "os"
|
|
|
+ "testing"
|
|
|
+
|
|
|
+ "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
|
|
|
+)
|
|
|
+
|
|
|
+type tester1 struct {
|
|
|
+ t *testing.T
|
|
|
+ owner *owner.LOwner
|
|
|
+ mBool *MBool
|
|
|
+}
|
|
|
+
|
|
|
+func TestMutBool(t *testing.T) {
|
|
|
+ sf := &tester1{
|
|
|
+ t: t,
|
|
|
+ owner: owner.LetOwner(1, "test_mut_bool"),
|
|
|
+ }
|
|
|
+ sf.mut()
|
|
|
+ sf.fromEnv()
|
|
|
+ sf.set()
|
|
|
+ sf.move()
|
|
|
+}
|
|
|
+
|
|
|
+// Перемещение значения
|
|
|
+func (sf *tester1) move() {
|
|
|
+ sf.t.Log("move")
|
|
|
+ owner := owner.LetOwner(2, "test_mut_bool_move")
|
|
|
+ sf.mBool.Move(owner)
|
|
|
+ defer func() {
|
|
|
+ if _panic := recover(); _panic == nil {
|
|
|
+ sf.t.Fatalf("move(): panic == nil")
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ _ = sf.mBool.Let()
|
|
|
+}
|
|
|
+
|
|
|
+// Установка и сброс значения
|
|
|
+func (sf *tester1) set() {
|
|
|
+ sf.t.Log("set")
|
|
|
+ sf.mBool.Set()
|
|
|
+ if sf.mBool.IsNot() {
|
|
|
+ sf.t.Fatalf("set(): val==false")
|
|
|
+ }
|
|
|
+ if sf.mBool.IsNot() {
|
|
|
+ sf.t.Fatalf("set(): val==false")
|
|
|
+ }
|
|
|
+ sf.mBool.Reset()
|
|
|
+ if sf.mBool.IsOk() {
|
|
|
+ sf.t.Fatalf("set(): val==true")
|
|
|
+ }
|
|
|
+ if sf.mBool.IsOk() {
|
|
|
+ sf.t.Fatalf("set(): val==true")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Присвоение из переменных окружения
|
|
|
+func (sf *tester1) fromEnv() {
|
|
|
+ sf.t.Log("fromEnv")
|
|
|
+ sf.fromEnvBad1()
|
|
|
+ sf.fromEnvBad2()
|
|
|
+ sf.fromEnvGood1()
|
|
|
+ sf.fromEnvGood2()
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester1) fromEnvGood2() {
|
|
|
+ sf.t.Log("fromEnvGood2")
|
|
|
+ os.Unsetenv("TEST_MUT_BOOL")
|
|
|
+ os.Setenv("TEST_MUT_BOOL", "FalSe")
|
|
|
+ res := sf.mBool.FromEnv("TEST_MUT_BOOL")
|
|
|
+ if res.IsErr() {
|
|
|
+ sf.t.Fatalf("fromEnvGood2(): err=%v", res.Err())
|
|
|
+ }
|
|
|
+ if res.Ok().IsOk() {
|
|
|
+ sf.t.Fatalf("fromEnvGood2(): not=%v", res.Ok())
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester1) fromEnvGood1() {
|
|
|
+ sf.t.Log("fromEnvGood1")
|
|
|
+ os.Unsetenv("TEST_MUT_BOOL")
|
|
|
+ os.Setenv("TEST_MUT_BOOL", "tRuE")
|
|
|
+ res := sf.mBool.FromEnv("TEST_MUT_BOOL")
|
|
|
+ if res.IsErr() {
|
|
|
+ sf.t.Fatalf("fromEnvGood1(): err=%v", res.Err())
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester1) fromEnvBad2() {
|
|
|
+ sf.t.Log("fromEnvBad2")
|
|
|
+ // os.Unsetenv("TEST_MUT_BOOL")
|
|
|
+ os.Setenv("TEST_MUT_BOOL", "5")
|
|
|
+ res := sf.mBool.FromEnv("TEST_MUT_BOOL")
|
|
|
+ if res.IsOk() {
|
|
|
+ sf.t.Fatalf("fromEnvBad2(): err == nil")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester1) fromEnvBad1() {
|
|
|
+ sf.t.Log("fromEnvBad1")
|
|
|
+ os.Unsetenv("TEST_MUT_BOOL")
|
|
|
+ // os.Setenv("TEST_MUT_BOOL", "faLSe")
|
|
|
+ res := sf.mBool.FromEnv("TEST_MUT_BOOL")
|
|
|
+ if res.IsOk() {
|
|
|
+ sf.t.Fatalf("fromEnvBad1(): err == nil")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Создание изменяемого бул
|
|
|
+func (sf *tester1) mut() {
|
|
|
+ sf.t.Log("log")
|
|
|
+ sf.mBool = MutBool(sf.owner, true)
|
|
|
+ if sf.mBool.IsNot() {
|
|
|
+ sf.t.Fatalf("mut(): val=false")
|
|
|
+ }
|
|
|
+}
|