quark_float_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package quark_float
  2. import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_val"
  3. import "strconv"
  4. import mKh "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  5. import "testing"
  6. type tester struct {
  7. t *testing.T
  8. }
  9. func TestQuarkFloat(t *testing.T) {
  10. sf := &tester{
  11. t: t,
  12. }
  13. sf.new()
  14. sf.newMut()
  15. }
  16. // Новое мутабельное значение.
  17. func (sf *tester) newMut() {
  18. sf.t.Log("newMut")
  19. qf := NewQFloatMut(123.456)
  20. if qf.Get() != 123.456 {
  21. sf.t.Fatalf("NewQFloatMut(123.456): qf.Get()=%v", qf.Get())
  22. }
  23. Set(qf, 12.34)
  24. if qf.Get() != 12.34 {
  25. sf.t.Fatalf("Set(qf, 12.34): qf.Get()=%v", qf.Get())
  26. }
  27. var str = "12.1"
  28. fVal, err := strconv.ParseFloat(str, 64)
  29. mKh.Hassert(err == nil, "QFloat.FromStr(): str=%q, err=\n\t%v", str, err)
  30. quark_val.Set(qf.Val(), fVal)
  31. if qf.Get() != 12.1 {
  32. sf.t.Fatalf("FromStr(qf, \"12.1\"): qf.Get()=%v", qf.Get())
  33. }
  34. if str := qf.ToStr(); str != "12.1" {
  35. sf.t.Fatalf("qf.ToStr(): qf.Get()=%v", str)
  36. }
  37. }
  38. // Новое фиксированное значение.
  39. func (sf *tester) new() {
  40. sf.t.Log("new")
  41. qf := NewQFloat(123.456)
  42. if qf.Get() != 123.456 {
  43. sf.t.Fatalf("NewQFloat(123.456): qf.Get()=%v", qf.Get())
  44. }
  45. }