public void RutorListTest() { //dw переменая для записи в событии List <TrackersListItem> actual = null; bool flagCall = false; //dw создаем тестируемый класс RutorList itemList = new RutorList(); //dw подписываемся на событие itemList.OnPostReceived += delegate(object sender, RutorListEventArgs e) { actual = e.Posts; flagCall = true; }; //dw начинаем получать лист itemList.GetList(); //dw ждем 12 секунд, если событие наступит раньше, то выполнение пойдет for (int countCall = 0; countCall < 48 && !flagCall; countCall++) { //dw ждем когда событие настанет Thread.Sleep(250); } //dw проверяем, что объект не null Assert.IsNotNull(actual); //dw на странице с rutor размещаются только 100 раздач Assert.AreEqual(actual.Count(), 100); }
private void T_OnPostReceived(object sender, RutorListEventArgs e) { //dw возвращаем объект из события RutorList tracker = sender as RutorList; //dw если бд пустая, просто добавляем в бд //инчае нужно делать проверку на дубликаты if (context.preposts.Count() == 0) { AddPostInDB(e.Posts, tracker.ExpressionDb); return; } //dw проверка на дубликаты записей в бд List <TrackersListItem> listNew = new List <TrackersListItem>(); foreach (var item in e.Posts.OrderBy(it => it.Index)) { preposts result = context.preposts.SingleOrDefault(it => it.magnet == item.Magnet); if (result == null) { listNew.Add(item); } } listNew = listNew.OrderByDescending(it => it.Index).ToList(); AddPostInDB(listNew, tracker.ExpressionDb); }
public void AddAddInDB() { //dw плохой тест, нужно переписать //событие так и не наступает RutorList rutorList = new RutorList(); PostList postList = new PostList(); bool callFlag = false; postList.OnAfterAdd += delegate(object sender, EventArgs e) { callFlag = true; }; for (int countCall = 0; countCall < 48 && !callFlag; countCall++) { Thread.Sleep(250); } postList.Add(rutorList); Assert.AreEqual(true, callFlag); }
private void rutorToolStripMenuItem_Click(object sender, EventArgs e) { RutorList rutorList = new RutorList(); postList.Add(rutorList); }