Exemplo n.º 1
0
TEST_F(Directed, DelMovesCurrentToNext)
{
    Q RunQ;
    InitQ(&RunQ);
    list_value_type items[4];
    items[0].data = 1;
    items[1].data = 2;
    items[2].data = 3;
    items[3].data = 4;
    for(int i = 0; i < 4; ++i) AddQ(&RunQ, items + i);

    std::cout << RunQ << '\n';
    ASSERT_EQ(1, RunQ.curr->data);
    DelQ(&RunQ);
   
    std::cout << RunQ << '\n';
    ASSERT_EQ(4,  RunQ.curr->data);
    DelQ(&RunQ);

    std::cout << RunQ << '\n';
    ASSERT_EQ(3,  RunQ.curr->data);
    DelQ(&RunQ);

    std::cout << RunQ << '\n';
    ASSERT_EQ(2,  RunQ.curr->data);
    DelQ(&RunQ);
    
    std::cout << RunQ << '\n';
    ASSERT_EQ(2,  RunQ.curr->data);
    DelQ(&RunQ); //Shouldn't crash
}
Exemplo n.º 2
0
int cMsgList::DeliverMessagesSinceSync(unsigned sync)
{
	db_iterator it;
	int n = 0;
	cUser *user = NULL;
	nMySQL::cQuery DelQ(mQuery);

	SetBaseTo(&mModel);
	mQuery.Clear();
	SelectFields(mQuery.OStream());
	mQuery.OStream() << "WHERE date_sent >=" << sync;


	for(it = db_begin(); it != db_end(); ++it, ++n ) {
		if (!user || user->mNick != mModel.mReceiver)
			user = mServer->mUserList.GetUserByNick(mModel.mReceiver);

		if(user) {
			DeliverModelToUser(user);
			DelQ.Clear();
			DelQ.OStream() << "DELETE FROM " << mMySQLTable.mName;
			WherePKey(DelQ.OStream());
			DelQ.Query();
		}
	}

	DelQ.Clear();
	mQuery.Clear();
	return n;
}
Exemplo n.º 3
0
TEST_F(Directed, PutGet)
{
    int i = 8;
    test_item_t t;
    t.data = i;
    AddQ(&q, &t);
    ASSERT_EQ(8, DelQ(&q)->data);
    ASSERT_EQ(0, size_(&q));
}
main()
{
   node *temp = NULL;
   node *head = NULL;

/*   
   AddQ(&head,11);
   AddQ(&head,13);
   
   AddQ(&head,17); 
   AddQ(&head,19);
   
   AddQ(&head,71); 
   AddQ(&head,91);
     
   printCDLL(&head);
   printf("\n");
   printCDLLReverse(&head); 
 
   printf("\n");

   RotateQ(&head);
   RotateQ(&head);
   printCDLL(&head);
   printf("\n");
   printCDLLReverse(&head); 
*/
   AddQ(&head,91);
   printCDLL(&head);   

   while(head -> right != head)
   {
   printf("%d ",DelQ(&head)->data);
   } 
   
   if( (temp = DelQ(&head)) != NULL)
   printf("%d ",temp->data);

   if( (temp = DelQ(&head)) != NULL)
   printf("%d ",temp->data);

}
Exemplo n.º 5
0
TEST_F(Directed, Add)
{
    repeat_n(100, [&](size_t i)
            {
            test_item_t* t = new test_item_t;
            t->data = i;
            AddQ(&q, t);
            ASSERT_EQ(i+1, size_(&q));
            });

    ASSERT_EQ(100, size_(&q));
    repeat_n(100, [&](size_t i){ DelQ(&q); });
    ASSERT_EQ(0, size_(&q));
}
Exemplo n.º 6
0
TEST_F(Model, AddDel)
{
    test_item_t data[test_size];

    repeat_n(test_size, [&](size_t i)
    {
        data[i].data = i;
        AddQ(&q, &data[i]);
    });

    for(size_t i = test_size; i > test_size; --i)
    {
        ASSERT_EQ(i, DelQ(&q)->data);
    }
}
Exemplo n.º 7
0
TEST_F(Directed, DeleteEmpty)
{
    InitQ(&q);
    DelQ(&q);
}