Running test: ParamTest2Test.MultiplyTest/2_3_6 # GetParam() = 2_3_6 on bin/param-test
----
## テスト項目

### 状態

- パラメーターから a, b, 期待する戻り値を取り出す。

### 手順

- myFunction(a, b) を呼び出す。
- myFunction(a, b) が 1 回呼び出されること。

### 確認内容 (1)

- myFunction(a, b) の戻り値が期待する戻り値と一致すること。
----
TEST_P(ParamTest2Test, MultiplyTest)
{
    // Arrange
    ParamTest2 mockObj;
    const ParamTest2TestParam p = GetParam(); // [状態] - パラメーターから a, b, 期待する戻り値を取り出す。

    // Pre-Assert
    EXPECT_CALL(mockObj, myFunction(p.a, p.b)).Times(1); // [Pre-Assert手順] - myFunction(a, b) が 1 回呼び出されること。

    // Act
    int result = mockObj.myFunction(p.a, p.b); // [手順] - myFunction(a, b) を呼び出す。

    // Assert
    EXPECT_EQ(result, p.expected); // [確認] - myFunction(a, b) の戻り値が期待する戻り値と一致すること。
}

// テスト名をデータ定義できるようにする例
INSTANTIATE_TEST_SUITE_P(, ParamTest2Test,
                         Values(
                             ParamTest2TestParam("2_3_6", 2, 3, 6),
                             ParamTest2TestParam("4_5_20", 4, 5, 20)),
                         PrintToStringParamName());
----
./bin/param-test --gtest_filter=ParamTest2Test.MultiplyTest/2_3_6
Running main() from /__w/googletest-lib/googletest-lib/googletest-source/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ParamTest2Test
[ RUN      ] ParamTest2Test.MultiplyTest/2_3_6
[       OK ] ParamTest2Test.MultiplyTest/2_3_6 (0 ms)
[----------] 1 test from ParamTest2Test (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 1 test.
