Chromium Code Reviews| 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..bcb830bd05e6a931dd83efd4ae6b30b73fb6e4b2 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,42 @@ TEST_F(CoordinationUnitImplTest, AddChild) { | 
| } | 
| } | 
| +TEST_F(CoordinationUnitImplTest, RemoveChild) { | 
| + CoordinationUnitID parent_cu_id(CoordinationUnitType::kWebContents, | 
| + std::string()); | 
| + CoordinationUnitID child_cu_id(CoordinationUnitType::kWebContents, | 
| 
 
nasko
2017/06/09 22:19:13
Can a WebContents really be a child of WebContents
 
matthalp
2017/06/09 22:31:58
Agreed -- Done.
 
 | 
| + 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()); |