package kint import ( "os" "testing" . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes" ) type tester struct { t *testing.T } func TestKInt(t *testing.T) { sf := &tester{ t: t, } sf.new() } // новый KInt. func (sf *tester) new() { sf.t.Log("new") val := NewInt(12) if val == nil { sf.t.Fatalf("new(): val==nil") } sf.new0(val) sf.new1(val) sf.new2(val) sf.new3(val) } func (sf *tester) new3(val Int) { _ = os.Unsetenv("TEST_VAL") _ = os.Setenv("TEST_VAL", "57") resInt := val.Getenv("TEST_VAL") resInt.Hassert("get env") if resInt.Ok() != 57 { sf.t.Fatalf("new(): isVal==true") } _ = os.Unsetenv("TEST_VAL") _ = os.Setenv("TEST_VAL", "u578") resInt = val.Getenv("TEST_VAL") if resInt.IsOk() { sf.t.Fatalf("new(): ok==true") } if val.Get() != 57 { sf.t.Fatalf("new(): val=%v !57", val.Get()) } val.Inc() if val.Get() != 58 { sf.t.Fatalf("new(): val=%v !58", val.Get()) } val.Dec() if val.Get() != 57 { sf.t.Fatalf("new(): val=%v !57", val.Get()) } } func (sf *tester) new2(val Int) { binData := val.ToByte() binData = binData[:2] res := val.FromByte(binData) if res.IsOk() { sf.t.Fatalf("new(): err==nil") } resInt := val.FromByte([]byte("travolta")) if resInt.IsErr() { sf.t.Fatalf("new(): err==nil") } valBool := val.FromBool(true) if valBool != -1 { sf.t.Fatalf("new(): isVal==false") } valBool = val.FromBool(false) if valBool != 0 { sf.t.Fatalf("new(): isVal==true") } val.Set(3) isBool := val.ToBool() if !isBool { sf.t.Fatalf("new(): isBool==false") } } func (sf *tester) new1(val Int) { resStr := val.FromStr("k26") if val.Get() != 26 { sf.t.Fatalf("new(): val=%v !26", val.Get()) } if !resStr.IsErr() { sf.t.Fatalf("new(): err==nil") } strVal := val.ToStr() if strVal != "26" { sf.t.Fatalf("new(): val=%v !26", strVal) } binData := val.ToByte() if len(binData) != 8 { sf.t.Fatalf("new(): len=%v !8", len(binData)) } resInt := val.FromByte(binData) resInt.Hassert("FromByte") } func (sf *tester) new0(val Int) { val0 := val.Get() if val0 != 12 { sf.t.Fatalf("new(): val0=%v !12", val0) } val.Set(14) if val.Get() != 14 { sf.t.Fatalf("new(): val=%v !14", val.Get()) } val.Reset() if val.Get() != 0 { sf.t.Fatalf("new(): val=%v !0", val.Get()) } resStr := val.FromStr("26") if val.Get() != 26 { sf.t.Fatalf("new(): val=%v !26", val.Get()) } resStr.Hassert("bad convert") }