Files
leetcode/tests/test_232.cpp
2025-07-12 23:22:19 +08:00

49 lines
1.1 KiB
C++

#include <gtest/gtest.h>
#include <solution/232.h>
class MyQueueTest : public ::testing::Test
{
protected:
MyQueue *queue;
void SetUp() override
{
queue = myQueueCreate();
ASSERT_NE(queue, nullptr); // 确保创建成功
}
void TearDown() override
{
myQueueFree(queue);
}
};
// Test1 对应你提供的操作序列
TEST_F(MyQueueTest, BasicOperations)
{
// ["MyQueue", "push", "push", "peek", "pop", "empty"]
// [[], [1], [2], [], [], []]
myQueuePush(queue, 1); // queue: [1]
myQueuePush(queue, 2); // queue: [1, 2]
int peeked = myQueuePeek(queue); // should return 1
EXPECT_EQ(peeked, 1);
int popped = myQueuePop(queue); // should return 1, queue becomes [2]
EXPECT_EQ(popped, 1);
bool isEmpty = myQueueEmpty(queue); // should return false
EXPECT_FALSE(isEmpty);
}
TEST_F(MyQueueTest, PushPeekEmpty)
{
myQueuePush(queue, 1); // queue: [1]
int peeked = myQueuePeek(queue); // should return 1
EXPECT_EQ(peeked, 1);
bool isEmpty = myQueueEmpty(queue); // should return false
EXPECT_FALSE(isEmpty);
}