kint_test.go 2.4 KB

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