package quark_float import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_val" import "strconv" import mKh "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" import "testing" type tester struct { t *testing.T } func TestQuarkFloat(t *testing.T) { sf := &tester{ t: t, } sf.new() sf.newMut() } // Новое мутабельное значение. func (sf *tester) newMut() { sf.t.Log("newMut") qf := NewQFloatMut(123.456) if qf.Get() != 123.456 { sf.t.Fatalf("NewQFloatMut(123.456): qf.Get()=%v", qf.Get()) } Set(qf, 12.34) if qf.Get() != 12.34 { sf.t.Fatalf("Set(qf, 12.34): qf.Get()=%v", qf.Get()) } var str = "12.1" fVal, err := strconv.ParseFloat(str, 64) mKh.Hassert(err == nil, "QFloat.FromStr(): str=%q, err=\n\t%v", str, err) quark_val.Set(qf.Val(), fVal) if qf.Get() != 12.1 { sf.t.Fatalf("FromStr(qf, \"12.1\"): qf.Get()=%v", qf.Get()) } if str := qf.ToStr(); str != "12.1" { sf.t.Fatalf("qf.ToStr(): qf.Get()=%v", str) } } // Новое фиксированное значение. func (sf *tester) new() { sf.t.Log("new") qf := NewQFloat(123.456) if qf.Get() != 123.456 { sf.t.Fatalf("NewQFloat(123.456): qf.Get()=%v", qf.Get()) } }