Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Unified Diff: services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc

Issue 2929883002: [GRC] ResourceCoordinatorInterface support to remove children (Closed)
Patch Set: Address reviewer feedback Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
diff --git a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
index 2046c36263d792085fe6a5e7be7e8123371a7608..bec8c8e7b3a0bc100597ad4bc4a6e60e134cc908 100644
--- a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
+++ b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
@@ -141,6 +141,40 @@ TEST_F(CoordinationUnitImplTest, AddChild) {
}
}
+TEST_F(CoordinationUnitImplTest, RemoveChild) {
+ CoordinationUnitID parent_cu_id(CoordinationUnitType::kFrame, std::string());
+ CoordinationUnitID child_cu_id(CoordinationUnitType::kFrame, std::string());
+
+ std::unique_ptr<CoordinationUnitImpl> parent_coordination_unit =
+ coordination_unit_factory::CreateCoordinationUnit(
+ parent_cu_id, service_context_ref_factory()->CreateRef());
+ std::unique_ptr<CoordinationUnitImpl> child_coordination_unit =
+ coordination_unit_factory::CreateCoordinationUnit(
+ child_cu_id, service_context_ref_factory()->CreateRef());
+
+ // Parent-child relationships have not been established yet.
+ EXPECT_EQ(0u, parent_coordination_unit->children().size());
+ EXPECT_EQ(0u, parent_coordination_unit->parents().size());
+ EXPECT_EQ(0u, child_coordination_unit->children().size());
+ EXPECT_EQ(0u, child_coordination_unit->parents().size());
+
+ parent_coordination_unit->AddChild(child_coordination_unit->id());
+
+ // Ensure correct Parent-child relationships have been established.
+ EXPECT_EQ(1u, parent_coordination_unit->children().size());
+ EXPECT_EQ(0u, parent_coordination_unit->parents().size());
+ EXPECT_EQ(0u, child_coordination_unit->children().size());
+ EXPECT_EQ(1u, child_coordination_unit->parents().size());
+
+ parent_coordination_unit->RemoveChild(child_coordination_unit->id());
+
+ // Parent-child relationships should no longer exist.
+ EXPECT_EQ(0u, parent_coordination_unit->children().size());
+ EXPECT_EQ(0u, parent_coordination_unit->parents().size());
+ EXPECT_EQ(0u, child_coordination_unit->children().size());
+ EXPECT_EQ(0u, child_coordination_unit->parents().size());
+}
+
TEST_F(CoordinationUnitImplTest, CyclicGraphUnits) {
TestCoordinationUnit parent_unit(
provider(), CoordinationUnitType::kWebContents, std::string());

Powered by Google App Engine
This is Rietveld 408576698