quark_float_test.go 1.2 KB

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