kint_test.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package kint
  2. import (
  3. "os"
  4. "testing"
  5. . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  7. )
  8. type tester struct {
  9. t *testing.T
  10. }
  11. func TestKInt(t *testing.T) {
  12. sf := &tester{
  13. t: t,
  14. }
  15. sf.new()
  16. }
  17. // новый KInt.
  18. func (sf *tester) new() {
  19. sf.t.Log("new")
  20. val := NewInt(12)
  21. if val == nil {
  22. sf.t.Fatalf("new(): val==nil")
  23. }
  24. sf.new0(val)
  25. sf.new1(val)
  26. sf.new2(val)
  27. sf.new3(val)
  28. }
  29. var testVal = defs.Txt("TEST_VAL")
  30. func (sf *tester) new3(val Int) {
  31. _ = os.Unsetenv("TEST_VAL")
  32. _ = os.Setenv("TEST_VAL", "57")
  33. resInt := val.Getenv(testVal)
  34. resInt.Hassert(defs.Txt("get env"))
  35. if resInt.Ok() != 57 {
  36. sf.t.Fatalf("new(): isVal==true")
  37. }
  38. _ = os.Unsetenv(testVal.String())
  39. _ = os.Setenv(testVal.String(), "u578")
  40. resInt = val.Getenv(testVal)
  41. if resInt.IsOk() {
  42. sf.t.Fatalf("new(): ok==true")
  43. }
  44. if val.Get() != 57 {
  45. sf.t.Fatalf("new(): val=%v !57", val.Get())
  46. }
  47. val.Inc()
  48. if val.Get() != 58 {
  49. sf.t.Fatalf("new(): val=%v !58", val.Get())
  50. }
  51. val.Dec()
  52. if val.Get() != 57 {
  53. sf.t.Fatalf("new(): val=%v !57", val.Get())
  54. }
  55. }
  56. func (sf *tester) new2(val Int) {
  57. binData := val.ToByte()
  58. binData = binData[:2]
  59. res := val.FromByte(binData)
  60. if res.IsOk() {
  61. sf.t.Fatalf("new(): err==nil")
  62. }
  63. resInt := val.FromByte([]byte("travolta"))
  64. if resInt.IsErr() {
  65. sf.t.Fatalf("new(): err==nil")
  66. }
  67. valBool := val.FromBool(true)
  68. if valBool != -1 {
  69. sf.t.Fatalf("new(): isVal==false")
  70. }
  71. valBool = val.FromBool(false)
  72. if valBool != 0 {
  73. sf.t.Fatalf("new(): isVal==true")
  74. }
  75. val.Set(3)
  76. isBool := val.ToBool()
  77. if !isBool {
  78. sf.t.Fatalf("new(): isBool==false")
  79. }
  80. }
  81. func (sf *tester) new1(val Int) {
  82. resStr := val.FromStr(defs.Txt("k26"))
  83. if val.Get() != 26 {
  84. sf.t.Fatalf("new(): val=%v !26", val.Get())
  85. }
  86. if !resStr.IsErr() {
  87. sf.t.Fatalf("new(): err==nil")
  88. }
  89. txtVal := val.ToStr()
  90. if txtVal.Get() != "26" {
  91. sf.t.Fatalf("new(): val=%v !26", txtVal.Get())
  92. }
  93. binData := val.ToByte()
  94. if len(binData) != 8 {
  95. sf.t.Fatalf("new(): len=%v !8", len(binData))
  96. }
  97. resInt := val.FromByte(binData)
  98. resInt.Hassert(defs.Txt("FromByte"))
  99. }
  100. func (sf *tester) new0(val Int) {
  101. val0 := val.Get()
  102. if val0 != 12 {
  103. sf.t.Fatalf("new(): val0=%v !12", val0)
  104. }
  105. val.Set(14)
  106. if val.Get() != 14 {
  107. sf.t.Fatalf("new(): val=%v !14", val.Get())
  108. }
  109. val.Reset()
  110. if val.Get() != 0 {
  111. sf.t.Fatalf("new(): val=%v !0", val.Get())
  112. }
  113. resStr := val.FromStr(defs.Txt("26"))
  114. if val.Get() != 26 {
  115. sf.t.Fatalf("new(): val=%v !26", val.Get())
  116. }
  117. resStr.Hassert(defs.Txt("bad convert"))
  118. }