Skip to content

Commit 0718a2e

Browse files
committed
Add reset method to ModulesIoC
1 parent 3aac490 commit 0718a2e

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/global/modularity/modulesioc.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ class ModulesIoC
4848
m_exports.insert(iface);
4949
}
5050

51+
void reset() { m_exports.clear(); }
52+
5153
template<class I>
5254
std::shared_ptr<I> resolve() const
5355
{

src/global/test/modularity.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ TEST(ModularityTest, Exports)
2828
ioc()->registerExport(another);
2929
ASSERT_EQ(ioc()->resolve<ModuleExportInterfaceMock>(), mock);
3030
ASSERT_EQ(ioc()->resolve<FakeExport>(), another);
31+
32+
ioc()->reset();
33+
ASSERT_EQ(ioc()->resolve<ModuleExportInterfaceMock>(), nullptr);
34+
ASSERT_EQ(ioc()->resolve<FakeExport>(), nullptr);
3135
}
3236

3337
TEST(ModularityTest, Inject)
@@ -41,4 +45,6 @@ TEST(ModularityTest, Inject)
4145
auto dep2 = std::make_shared<FakeDependency>();
4246
fake->setdep(dep2);
4347
ASSERT_EQ(fake->dep(), dep2);
48+
49+
ioc()->reset();
4450
}

0 commit comments

Comments
 (0)