示例#1
0
TEST_F(Directed, Rotate)
{
    size_t const test_size = 4;
    test_item_t data[test_size];

    for(size_t i = 0; i < test_size; ++i)
    {
        data[i].data = i;
        AddQ(&q, data + i);
    }

    std::cout << q << '\n';

    for(int i = 0; i < 2; ++i)
    {
        ASSERT_EQ(0, PeekQ(&q)->data);
        ASSERT_EQ(3, RotateQ(&q)->data);
    std::cout << q << '\n';
        ASSERT_EQ(2, RotateQ(&q)->data);
    std::cout << q << '\n';
        ASSERT_EQ(1, RotateQ(&q)->data);
    std::cout << q << '\n';
        ASSERT_EQ(0, RotateQ(&q)->data);
    std::cout << q << '\n';
    }
}
示例#2
0
文件: proj_1.c 项目: jjrob13/CSE430
TEST
test_RotateQ(){

	Queue q;
	InitQueue(&q);
	Node *newItem1, *newItem2, *newItem3, *newItem4;

	newItem1 = NewItem();
	newItem2 = NewItem();
	newItem3 = NewItem();
	newItem4 = NewItem();

	AddQueue(&q, newItem1);
	AddQueue(&q, newItem2);
	AddQueue(&q, newItem3);
	AddQueue(&q, newItem4);

	//Queue is 1 2 3 4
	ASSERT(q.head == newItem1);
	ASSERT(q.tail == newItem4);

	RotateQ(&q);
	//Queue is 2 3 4 1
	ASSERT(q.head == newItem2);
	ASSERT(q.tail == newItem1);

	RotateQ(&q);
	//Queue is 3 4 1 2
	ASSERT(q.head == newItem3);
	ASSERT(q.tail == newItem2);

	RotateQ(&q);
	//Queue is 4 1 2 3
	ASSERT(q.head == newItem4);
	ASSERT(q.tail == newItem3);

	RotateQ(&q);
	//Queue is 1 2 3 4
	ASSERT(q.head == newItem1);
	ASSERT(q.tail == newItem4);

	FreeItem(newItem1);
	FreeItem(newItem2);
	FreeItem(newItem3);
	FreeItem(newItem4);
	
	PASS();
}
示例#3
0
TEST_F(Directed, RotateOne)
{
    test_item_t t;
    t.data = 9;

    AddQ(&q, &t);
    repeat_n(100, [&](size_t i){ ASSERT_EQ(9, RotateQ(&q)->data); });
}
示例#4
0
TEST_F(Directed, RotateTwo)
{
    InitQ(&q);

    test_item_t t1;
    t1.data = 0;
    AddQ(&q, &t1);

    test_item_t t2;
    t2.data = 1;
    AddQ(&q, &t2);

    repeat_n(100000, [&](size_t i){ ASSERT_EQ((i+1)%2, RotateQ(&q)->data); });
}
示例#5
0
TEST_F(Directed, CreateBadCondition)
{
    InitQ(&q);
    q.head = (list_value_type*)1;
    RotateQ(&q);
}
示例#6
0
TEST_F(Directed, RotateEmpty)
{
    InitQ(&q);
    RotateQ(&q);
}
TEST_F(Directed, CreateBadCondition)
{
    InitQ(&q);
    q.head = (list_parameter_t*)1;
    RotateQ(&q);
}