safebool_test.go 888 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package safebool
  2. import "testing"
  3. /*
  4. Тест для потокобезопасного булевого признака
  5. */
  6. // Тестер для булевого признака
  7. type tester struct {
  8. t *testing.T
  9. sb *SafeBool
  10. }
  11. func TestSafeBool(t *testing.T) {
  12. test := &tester{
  13. t: t,
  14. }
  15. test.create()
  16. test.set()
  17. }
  18. // Присовение и сброс признака
  19. func (sf *tester) set() {
  20. sf.t.Logf("=set=\n")
  21. sf.sb.Set()
  22. if isReset := sf.sb.Get(); !isReset {
  23. sf.t.Errorf("create(): isReset==true\n")
  24. }
  25. sf.sb.Reset()
  26. if isSet := sf.sb.Get(); isSet {
  27. sf.t.Errorf("create(): isSet==true\n")
  28. }
  29. }
  30. // Создание признака
  31. func (sf *tester) create() {
  32. sf.t.Logf("=create=\n")
  33. sf.sb = NewSafeBool()
  34. if sf.sb == nil {
  35. sf.t.Errorf("create(): safeBool==nil\n")
  36. }
  37. if isSet := sf.sb.Get(); isSet {
  38. sf.t.Errorf("create(): isSet==true\n")
  39. }
  40. }