Running test: ParamTest1Test.MultiplyTest/MultiplicationTests1/1 # GetParam() = (4, 5, 20) on bin/param-test
----
## テスト項目

### 状態

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

### 手順

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

### 確認内容 (1)

- myFunction(a, b) の戻り値が期待する戻り値と一致すること。
----
TEST_P(ParamTest1Test, MultiplyTest)
{
    // Arrange
    ParamTest1 mockObj;

    int a = get<0>(GetParam());        // [状態] - パラメーターから a を取り出す。
    int b = get<1>(GetParam());        // [状態] - パラメーターから b を取り出す。
    int expected = get<2>(GetParam()); // [状態] - パラメーターから期待する戻り値を取り出す。

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

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

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

INSTANTIATE_TEST_SUITE_P(MultiplicationTests1, ParamTest1Test,
                         Values(
                             make_tuple(2, 3, 6),
                             make_tuple(4, 5, 20)));
----
./bin/param-test --gtest_filter=MultiplicationTests1/ParamTest1Test.MultiplyTest/1
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 MultiplicationTests1/ParamTest1Test
[ RUN      ] MultiplicationTests1/ParamTest1Test.MultiplyTest/1
[       OK ] MultiplicationTests1/ParamTest1Test.MultiplyTest/1 (0 ms)
[----------] 1 test from MultiplicationTests1/ParamTest1Test (0 ms total)

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