119 219 222
Some checks failed
Gitea CTest Workflow / test (push) Failing after 3m20s

This commit is contained in:
2026-03-09 19:58:49 +08:00
parent 6e2206cabe
commit 7d45cb5978
12 changed files with 408 additions and 39 deletions

59
tests/test_222.cpp Normal file
View File

@@ -0,0 +1,59 @@
// This file is generated by mkfile.py
// Date: 2026-03-09
#include <gtest/gtest.h>
#include <solution/222.h>
class CountNodesTest : public ::testing::Test
{
protected:
TreeNode *createNode(int val)
{
TreeNode *node = new TreeNode;
node->val = val;
node->left = nullptr;
node->right = nullptr;
return node;
}
void freeTree(TreeNode *root)
{
if (!root)
return;
freeTree(root->left);
freeTree(root->right);
delete root;
}
};
// 示例 1
TEST_F(CountNodesTest, Example1)
{
// 构建树: [1,2,3,4,5,6]
TreeNode *root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
root->right->left = createNode(6);
EXPECT_EQ(countNodes(root), 6);
freeTree(root);
}
// 示例 2
TEST_F(CountNodesTest, Example2)
{
TreeNode *root = nullptr;
EXPECT_EQ(countNodes(root), 0);
}
// 示例 3
TEST_F(CountNodesTest, Example3)
{
TreeNode *root = createNode(1);
EXPECT_EQ(countNodes(root), 1);
freeTree(root);
}