safe_bool_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package safe_bool
  2. import (
  3. "testing"
  4. . "wartank/kernel/kernel_types"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. sb ИБезопБул
  9. }
  10. func TestSAfeBool(t *testing.T) {
  11. sf := &tester{
  12. t: t,
  13. }
  14. sf.create()
  15. sf.set()
  16. sf.reset()
  17. }
  18. // Сбрасывает хранимое значение
  19. func (sf *tester) reset() {
  20. sf.t.Log("reset")
  21. sf.sb.Сброс()
  22. if sf.sb.Получ() {
  23. sf.t.Fatalf("reset(): SafeBool==true")
  24. }
  25. sf.sb.Сброс()
  26. if sf.sb.Получ() {
  27. sf.t.Fatalf("reset(): SafeBool==true")
  28. }
  29. }
  30. // Установка хранимого значения
  31. func (sf *tester) set() {
  32. sf.t.Log("set")
  33. sf.sb.Уст()
  34. if !sf.sb.Получ() {
  35. sf.t.Fatalf("set(): SafeBool==true")
  36. }
  37. sf.sb.Уст()
  38. if !sf.sb.Получ() {
  39. sf.t.Fatalf("set(): SafeBool==true")
  40. }
  41. }
  42. // Создаёт потокобезопасный булевый признак
  43. func (sf *tester) create() {
  44. sf.t.Log("create")
  45. sf.sb = НовБезопБул_()
  46. if sf.sb == nil {
  47. sf.t.Fatalf("create(): SafeBool==nil")
  48. }
  49. if sf.sb.Получ() {
  50. sf.t.Fatalf("create(): SafeBool==true")
  51. }
  52. }