safe_bool_test.go 1.0 KB

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