wgname_test.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package wgname
  2. import "testing"
  3. /*
  4. Тест для ожидания группы по имени
  5. */
  6. type tester struct {
  7. t *testing.T
  8. wn *WgName
  9. }
  10. func TestWgName(t *testing.T) {
  11. test := &tester{
  12. t: t,
  13. }
  14. test.create()
  15. test.add()
  16. test.done()
  17. test.wn.Wait()
  18. }
  19. // Отпскание имени
  20. func (сам *tester) done() {
  21. сам.t.Logf("=done=")
  22. сам.doneGood1()
  23. сам.doneBad1()
  24. сам.doneBad1()
  25. }
  26. // Повторное удаление
  27. func (сам *tester) doneBad1() {
  28. сам.t.Logf("=doneBad1=")
  29. if err := сам.wn.Done("test"); err == nil {
  30. сам.t.Errorf("doneBad1(): err==nil")
  31. }
  32. }
  33. func (сам *tester) doneGood1() {
  34. сам.t.Logf("=doneGood1=")
  35. if err := сам.wn.Done("test"); err != nil {
  36. сам.t.Errorf("doneGood1(): err=%v", err)
  37. }
  38. }
  39. // Добавление имени в группу
  40. func (сам *tester) add() {
  41. сам.t.Logf("=add=")
  42. сам.addGood1()
  43. сам.addBad1()
  44. }
  45. // Уже есть такое имя
  46. func (сам *tester) addBad1() {
  47. сам.t.Logf("=addBad1=")
  48. if err := сам.wn.Add("test"); err == nil {
  49. сам.t.Errorf("addBad1(): err==nil")
  50. }
  51. if len(сам.wn.dictName) != 1 {
  52. сам.t.Errorf("addBad1(): len dictName != 1")
  53. }
  54. }
  55. func (сам *tester) addGood1() {
  56. сам.t.Logf("=addGood1=")
  57. if err := сам.wn.Add("test"); err != nil {
  58. сам.t.Errorf("addGood1(): err=%v", err)
  59. }
  60. if len(сам.wn.dictName) != 1 {
  61. сам.t.Errorf("addGood1(): len dictName != 1")
  62. }
  63. }
  64. // Создание группы ожидания
  65. func (сам *tester) create() {
  66. сам.t.Logf("=create=")
  67. сам.wn = NewWgName()
  68. if сам.wn.dictName == nil {
  69. сам.t.Errorf("create(): dictName == nil")
  70. }
  71. if len(сам.wn.dictName) != 0 {
  72. сам.t.Errorf("create(): dictName not empty")
  73. }
  74. if len(сам.wn.chEnd) != 0 {
  75. сам.t.Errorf("create(): chEnd not empty")
  76. }
  77. }