Check that new module classes are actually created correctly and stored in the table of module classes
| 157 | // Check that new module classes are actually created correctly and stored in |
| 158 | // the table of module classes |
| 159 | TEST(ModuleBuilderTest, RegisterModuleClass) { |
| 160 | ASSERT_EQ(0, ModuleBuilder::all_module_builders().count("AcmeModule")); |
| 161 | |
| 162 | AcmeModule_class AcmeModule_singleton; |
| 163 | ASSERT_EQ(1, ModuleBuilder::all_module_builders().count("AcmeModule")); |
| 164 | |
| 165 | const ModuleBuilder &builder = |
| 166 | ModuleBuilder::all_module_builders().find("AcmeModule")->second; |
| 167 | |
| 168 | EXPECT_EQ("AcmeModule", builder.class_name()); |
| 169 | EXPECT_EQ("acme_module", builder.name_template()); |
| 170 | EXPECT_EQ("foo bar", builder.help_text()); |
| 171 | EXPECT_EQ(1, builder.NumIGates()); |
| 172 | EXPECT_EQ(2, builder.NumOGates()); |
| 173 | EXPECT_EQ(1, builder.cmds().size()); |
| 174 | |
| 175 | ASSERT_EQ(0, |
| 176 | ModuleBuilder::all_module_builders().count("AcmeModuleWithTask")); |
| 177 | |
| 178 | AcmeModuleWithTask_class AcmeModuleWithTask_singleton; |
| 179 | ASSERT_EQ(1, |
| 180 | ModuleBuilder::all_module_builders().count("AcmeModuleWithTask")); |
| 181 | |
| 182 | const ModuleBuilder &builder2 = |
| 183 | ModuleBuilder::all_module_builders().find("AcmeModuleWithTask")->second; |
| 184 | |
| 185 | EXPECT_EQ("AcmeModuleWithTask", builder2.class_name()); |
| 186 | EXPECT_EQ("acme_module_with_task", builder2.name_template()); |
| 187 | EXPECT_EQ("foo bar", builder2.help_text()); |
| 188 | EXPECT_EQ(1, builder2.NumIGates()); |
| 189 | EXPECT_EQ(3, builder2.NumOGates()); |
| 190 | EXPECT_EQ(0, builder2.cmds().size()); |
| 191 | } |
| 192 | |
| 193 | // Check that module builders create modules correctly when given a name |
| 194 | TEST_F(ModuleTester, CreateModuleWithName) { |