package wgname import "testing" /* Тест для ожидания группы по имени */ type tester struct { t *testing.T wn *WgName } func TestWgName(t *testing.T) { test := &tester{ t: t, } test.create() test.add() test.done() test.wn.Wait() } // Отпскание имени func (sf *tester) done() { sf.t.Logf("=done=") sf.doneGood1() sf.doneBad1() sf.doneBad1() } // Повторное удаление func (sf *tester) doneBad1() { sf.t.Logf("=doneBad1=") if err := sf.wn.Done("test"); err == nil { sf.t.Errorf("doneBad1(): err==nil") } } func (sf *tester) doneGood1() { sf.t.Logf("=doneGood1=") if err := sf.wn.Done("test"); err != nil { sf.t.Errorf("doneGood1(): err=%v", err) } } // Добавление имени в группу func (sf *tester) add() { sf.t.Logf("=add=") sf.addGood1() sf.addBad1() } // Уже есть такое имя func (sf *tester) addBad1() { sf.t.Logf("=addBad1=") if err := sf.wn.Add("test"); err == nil { sf.t.Errorf("addBad1(): err==nil") } if len(sf.wn.dictName) != 1 { sf.t.Errorf("addBad1(): len dictName != 1") } } func (sf *tester) addGood1() { sf.t.Logf("=addGood1=") if err := sf.wn.Add("test"); err != nil { sf.t.Errorf("addGood1(): err=%v", err) } if len(sf.wn.dictName) != 1 { sf.t.Errorf("addGood1(): len dictName != 1") } } // Создание группы ожидания func (sf *tester) create() { sf.t.Logf("=create=") sf.wn = NewWgName() if sf.wn.dictName == nil { sf.t.Errorf("create(): dictName == nil") } if len(sf.wn.dictName) != 0 { sf.t.Errorf("create(): dictName not empty") } if len(sf.wn.chEnd) != 0 { sf.t.Errorf("create(): chEnd not empty") } }