// This file is generated by mkfile.py // Date: 2025-12-05 #include #include #include #include // Tests for minCostClimbingStairs (LeetCode 746) class MinCostClimbingStairsTest : public ::testing::Test { protected: void AssertMinCost(const std::vector &input, int expected) { int *cost = new int[input.size()]; std::copy(input.begin(), input.end(), cost); int result = minCostClimbingStairs(cost, (int)input.size()); ASSERT_EQ(result, expected); delete[] cost; } }; TEST_F(MinCostClimbingStairsTest, Example1) { // cost = [10,15,20] -> expected 15 AssertMinCost({10, 15, 20}, 15); } TEST_F(MinCostClimbingStairsTest, Example2) { // cost = [1,100,1,1,1,100,1,1,100,1] -> expected 6 AssertMinCost({1, 100, 1, 1, 1, 100, 1, 1, 100, 1}, 6); } TEST_F(MinCostClimbingStairsTest, TwoSteps) { // Two steps: choose cheaper one AssertMinCost({5, 3}, 3); } TEST_F(MinCostClimbingStairsTest, ZeroCost) { AssertMinCost({0, 0, 0}, 0); }