package kint import ( "os" "testing" ) 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") } 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") 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") binData = binData[:2] resInt = val.FromByte(binData) if !resStr.IsErr() { sf.t.Fatalf("new(): err==nil") } resInt = val.FromByte([]byte("travolta")) if !resStr.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") } _ = os.Unsetenv("TEST_VAL") _ = os.Setenv("TEST_VAL", "57") resInt = val.Getenv("TEST_VAL") resInt.Hassert("get env") if resInt.Val() != 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()) } }