static void testFacets(const Ice::CommunicatorPtr& com, bool builtInFacets = true) { if(builtInFacets) { test(com->findAdminFacet("Properties")); test(com->findAdminFacet("Process")); test(com->findAdminFacet("Logger")); test(com->findAdminFacet("Metrics")); } TestFacetPtr f1 = ICE_MAKE_SHARED(TestFacetI); TestFacetPtr f2 = ICE_MAKE_SHARED(TestFacetI); TestFacetPtr f3 = ICE_MAKE_SHARED(TestFacetI); com->addAdminFacet(f1, "Facet1"); com->addAdminFacet(f2, "Facet2"); com->addAdminFacet(f3, "Facet3"); test(com->findAdminFacet("Facet1") == f1); test(com->findAdminFacet("Facet2") == f2); test(com->findAdminFacet("Facet3") == f3); test(!com->findAdminFacet("Bogus")); const Ice::FacetMap facetMap = com->findAllAdminFacets(); if(builtInFacets) { test(facetMap.size() == 7); test(facetMap.find("Properties") != facetMap.end()); test(facetMap.find("Process") != facetMap.end()); test(facetMap.find("Logger") != facetMap.end()); test(facetMap.find("Metrics") != facetMap.end()); } else { test(facetMap.size() >= 3); } test(facetMap.find("Facet1") != facetMap.end()); test(facetMap.find("Facet2") != facetMap.end()); test(facetMap.find("Facet3") != facetMap.end()); try { com->addAdminFacet(f1, "Facet1"); test(false); } catch(const Ice::AlreadyRegisteredException&) { // Expected } try { com->removeAdminFacet("Bogus"); test(false); } catch(const Ice::NotRegisteredException&) { // Expected } com->removeAdminFacet("Facet1"); com->removeAdminFacet("Facet2"); com->removeAdminFacet("Facet3"); try { com->removeAdminFacet("Facet1"); test(false); } catch(const Ice::NotRegisteredException&) { // Expected } }