Exemple #1
0
    testFacets(Ice.Communicator com, bool builtInFacets)
    {
        if (builtInFacets)
        {
            test(com.findAdminFacet("Properties") != null);
            test(com.findAdminFacet("Process") != null);
            test(com.findAdminFacet("Logger") != null);
            test(com.findAdminFacet("Metrics") != null);
        }

        TestFacet f1 = new TestFacetI();
        TestFacet f2 = new TestFacetI();
        TestFacet f3 = new 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") == null);

        Dictionary <string, Ice.Object> facetMap = com.findAllAdminFacets();

        if (builtInFacets)
        {
            test(facetMap.Count == 7);
            test(facetMap.ContainsKey("Properties"));
            test(facetMap.ContainsKey("Process"));
            test(facetMap.ContainsKey("Logger"));
            test(facetMap.ContainsKey("Metrics"));
        }
        else
        {
            test(facetMap.Count >= 3);
        }
        test(facetMap.ContainsKey("Facet1"));
        test(facetMap.ContainsKey("Facet2"));
        test(facetMap.ContainsKey("Facet3"));

        try
        {
            com.addAdminFacet(f1, "Facet1");
            test(false);
        }
        catch (Ice.AlreadyRegisteredException)
        {
            // Expected
        }

        try
        {
            com.removeAdminFacet("Bogus");
            test(false);
        }
        catch (Ice.NotRegisteredException)
        {
            // Expected
        }

        com.removeAdminFacet("Facet1");
        com.removeAdminFacet("Facet2");
        com.removeAdminFacet("Facet3");

        try
        {
            com.removeAdminFacet("Facet1");
            test(false);
        }
        catch (Ice.NotRegisteredException)
        {
            // Expected
        }
    }