I'm trying to use parameterized tests with a class that takes a POD as parameter. I've sort of reached this stage:
struct TestParameters : public ::testing::TestWithParam<parameters> {
parameters params;
virtual void SetUp() {
params.username = "username";
params.host = "192.168.0.254";
}
};
TEST_P(TestParameters, connect) {
std::error_code ec;
std::unique_ptr<connection> connection = make_connection(GetParam(), ec);
ASSERT_FALSE(ec);
ec = connection->connect();
ASSERT_FALSE(ec);
}
INSTANTIATE_TEST_CASE_P(postgresql_tcp, connection, ::testing::Values());
My question is, how to pass the values I need in parameters via INSTANTIATE_TEST_CASE_P and how to I pass a valid instance of parameters to make_connection()?