def_bool_let_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package def_bool
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
  5. )
  6. type tester0 struct {
  7. t *testing.T
  8. lBool *LBool
  9. owner *owner.LOwner
  10. }
  11. func TestLetBool(t *testing.T) {
  12. sf := &tester0{
  13. t: t,
  14. owner: owner.LetOwner(1, "test_let_bool"),
  15. }
  16. sf.let()
  17. sf.bool()
  18. sf.let2()
  19. }
  20. // Получение значения
  21. func (sf *tester0) let2() {
  22. sf.t.Log("let2")
  23. sf.let2Good1()
  24. sf.let2Bad1()
  25. }
  26. // Поменялся владелец
  27. func (sf *tester0) let2Bad1() {
  28. sf.t.Log("let2Bad1")
  29. owner := owner.LetOwner(2, "test_owner2")
  30. _ = sf.lBool.Move(owner)
  31. defer func() {
  32. if _panic := recover(); _panic == nil {
  33. sf.t.Fatalf("let2Bad1(): %v", _panic)
  34. }
  35. }()
  36. _ = sf.lBool.IsOk()
  37. }
  38. func (sf *tester0) let2Good1() {
  39. sf.t.Log("let2Good1")
  40. lBool := sf.lBool.Let()
  41. if lBool.IsOk() {
  42. sf.t.Fatalf("let2Good1(): val == true")
  43. }
  44. _ = lBool.String()
  45. }
  46. // Проверка значений
  47. func (sf *tester0) bool() {
  48. sf.t.Log("bool")
  49. if sf.lBool.IsNot() {
  50. sf.t.Fatalf("bool(): val == false")
  51. }
  52. sf.lBool.val = false
  53. if sf.lBool.IsOk() {
  54. sf.t.Fatalf("bool(): val == true")
  55. }
  56. }
  57. // Создание булева внутреннего значения
  58. func (sf *tester0) let() {
  59. sf.t.Log("let")
  60. sf.letBad1()
  61. sf.letGoo1()
  62. }
  63. func (sf *tester0) letGoo1() {
  64. // Создание внутреннего булева значения
  65. sf.t.Log("letGoo1")
  66. sf.lBool = LetBool(sf.owner, true)
  67. if sf.lBool.IsNot() {
  68. sf.t.Fatalf("letGoo1(): val.IsOk() == false")
  69. }
  70. }
  71. // Нет владельца
  72. func (sf *tester0) letBad1() {
  73. // Создание внутреннего булева значения
  74. sf.t.Log("letBad2")
  75. defer func() {
  76. if _panic := recover(); _panic == nil {
  77. sf.t.Fatalf("letBad1(): panic==nil")
  78. }
  79. }()
  80. _ = LetBool(nil, false)
  81. }