@@ -64,48 +64,55 @@ class TestConfig : public ConfigBase<TestConfig> {
6464 inline static const Entry<TestEnum> kEnumConfig {" enum_config" , TestEnum::VALUE1,
6565 EnumToString, StringToEnum};
6666 inline static const Entry<double > kDoubleConfig {" double_config" , 3.14 };
67+
68+ static std::unique_ptr<TestConfig> default_properties () {
69+ return std::unique_ptr<TestConfig>(new TestConfig ());
70+ }
71+
72+ private:
73+ TestConfig () = default ;
6774};
6875
6976TEST (ConfigTest, BasicOperations) {
70- TestConfig config;
77+ auto config = TestConfig::default_properties () ;
7178
7279 // Test default values
73- ASSERT_EQ (config. Get (TestConfig::kStringConfig ), std::string (" default_value" ));
74- ASSERT_EQ (config. Get (TestConfig::kIntConfig ), 25 );
75- ASSERT_EQ (config. Get (TestConfig::kBoolConfig ), false );
76- ASSERT_EQ (config. Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
77- ASSERT_EQ (config. Get (TestConfig::kDoubleConfig ), 3.14 );
80+ ASSERT_EQ (config-> Get (TestConfig::kStringConfig ), std::string (" default_value" ));
81+ ASSERT_EQ (config-> Get (TestConfig::kIntConfig ), 25 );
82+ ASSERT_EQ (config-> Get (TestConfig::kBoolConfig ), false );
83+ ASSERT_EQ (config-> Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
84+ ASSERT_EQ (config-> Get (TestConfig::kDoubleConfig ), 3.14 );
7885
7986 // Test setting values
80- config. Set (TestConfig::kStringConfig , std::string (" new_value" ));
81- config. Set (TestConfig::kIntConfig , 100 );
82- config. Set (TestConfig::kBoolConfig , true );
83- config. Set (TestConfig::kEnumConfig , TestEnum::VALUE2);
84- config. Set (TestConfig::kDoubleConfig , 2.99 );
85-
86- ASSERT_EQ (config. Get (TestConfig::kStringConfig ), " new_value" );
87- ASSERT_EQ (config. Get (TestConfig::kIntConfig ), 100 );
88- ASSERT_EQ (config. Get (TestConfig::kBoolConfig ), true );
89- ASSERT_EQ (config. Get (TestConfig::kEnumConfig ), TestEnum::VALUE2);
90- ASSERT_EQ (config. Get (TestConfig::kDoubleConfig ), 2.99 );
87+ config-> Set (TestConfig::kStringConfig , std::string (" new_value" ));
88+ config-> Set (TestConfig::kIntConfig , 100 );
89+ config-> Set (TestConfig::kBoolConfig , true );
90+ config-> Set (TestConfig::kEnumConfig , TestEnum::VALUE2);
91+ config-> Set (TestConfig::kDoubleConfig , 2.99 );
92+
93+ ASSERT_EQ (config-> Get (TestConfig::kStringConfig ), " new_value" );
94+ ASSERT_EQ (config-> Get (TestConfig::kIntConfig ), 100 );
95+ ASSERT_EQ (config-> Get (TestConfig::kBoolConfig ), true );
96+ ASSERT_EQ (config-> Get (TestConfig::kEnumConfig ), TestEnum::VALUE2);
97+ ASSERT_EQ (config-> Get (TestConfig::kDoubleConfig ), 2.99 );
9198
9299 // Test unsetting a value
93- config. Unset (TestConfig::kIntConfig );
94- config. Unset (TestConfig::kEnumConfig );
95- config. Unset (TestConfig::kDoubleConfig );
96- ASSERT_EQ (config. Get (TestConfig::kIntConfig ), 25 );
97- ASSERT_EQ (config. Get (TestConfig::kStringConfig ), " new_value" );
98- ASSERT_EQ (config. Get (TestConfig::kBoolConfig ), true );
99- ASSERT_EQ (config. Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
100- ASSERT_EQ (config. Get (TestConfig::kDoubleConfig ), 3.14 );
100+ config-> Unset (TestConfig::kIntConfig );
101+ config-> Unset (TestConfig::kEnumConfig );
102+ config-> Unset (TestConfig::kDoubleConfig );
103+ ASSERT_EQ (config-> Get (TestConfig::kIntConfig ), 25 );
104+ ASSERT_EQ (config-> Get (TestConfig::kStringConfig ), " new_value" );
105+ ASSERT_EQ (config-> Get (TestConfig::kBoolConfig ), true );
106+ ASSERT_EQ (config-> Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
107+ ASSERT_EQ (config-> Get (TestConfig::kDoubleConfig ), 3.14 );
101108
102109 // Test resetting all values
103- config. Reset ();
104- ASSERT_EQ (config. Get (TestConfig::kStringConfig ), " default_value" );
105- ASSERT_EQ (config. Get (TestConfig::kIntConfig ), 25 );
106- ASSERT_EQ (config. Get (TestConfig::kBoolConfig ), false );
107- ASSERT_EQ (config. Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
108- ASSERT_EQ (config. Get (TestConfig::kDoubleConfig ), 3.14 );
110+ config-> Reset ();
111+ ASSERT_EQ (config-> Get (TestConfig::kStringConfig ), " default_value" );
112+ ASSERT_EQ (config-> Get (TestConfig::kIntConfig ), 25 );
113+ ASSERT_EQ (config-> Get (TestConfig::kBoolConfig ), false );
114+ ASSERT_EQ (config-> Get (TestConfig::kEnumConfig ), TestEnum::VALUE1);
115+ ASSERT_EQ (config-> Get (TestConfig::kDoubleConfig ), 3.14 );
109116}
110117
111118} // namespace iceberg
0 commit comments