コード例 #1
0
        public void TestDeepCopy()
        {
            RoutingItemCollection collection = new RoutingItemCollection(Guid.Empty, "TestCollection");

            RoutingItem testAddress = new RoutingItem("testName", "testAddress");

            Assert.AreEqual("testName", testAddress.Name.Value);
            Assert.AreEqual("testAddress", testAddress.Content);

            collection.Add(testAddress);
            testAddress = new RoutingItem("testName2", "testAddress2");
            collection.Add(testAddress);

            RoutingItemCollection collection2 = collection.DeepCopy(true) as RoutingItemCollection; 

            Assert.AreEqual(2, collection.Count);
            Assert.AreEqual("TestCollection", collection.Name.Value);
            Assert.IsTrue(collection2.ReadOnly);
        }
コード例 #2
0
        public void TestWriteReadOnlyAddressCollections()
        {
            Guid languageGuid = new Guid("{054846D4-6540-4C78-BA7D-141C91EE6A4C}");
            PolicyLanguage language = new PolicyLanguage(languageGuid, "en");
            language[new Guid("{D0FE23B8-B8A0-4DD6-A0F1-A7836DC0417E}")] = "Test catalogue";
            language[new Guid("{63A4F19E-332A-4006-BD0A-688BD184CB9F}")] = "Financial Users";
            language[new Guid("{852F1BEC-CCB6-4203-8701-89CAE87EA97B}")] = "Legal Users";

            XmlPolicyLanguageStore languageStore = XmlPolicyLanguageStore.Instance;
            languageStore.AddLanguage(language);

            XMLPolicyCatalogueStore catalogueStore = XMLPolicyCatalogueStore.Instance;
            catalogueStore.Reset();

            Guid catalogueId = new Guid("{B496E117-29DA-4770-87E9-62573B28BB4F}");
            XmlPolicyCatalogueWriter catalogueWriter = catalogueStore.GetWriter(catalogueId, languageGuid) as XmlPolicyCatalogueWriter;
            Assert.IsNotNull(catalogueWriter, "Expected a valid [IPolicyStoreWriter] writer");

            catalogueWriter.WriteName("{D0FE23B8-B8A0-4DD6-A0F1-A7836DC0417E}");

            string address1GuidString = "{625C4BDE-907F-4751-BDA1-0E59EDBBCE5C}";
            string address2GuidString = "{6970F70A-B28D-4694-AEFA-C3D687F56112}";
            string address3GuidString = "{7833C99B-BA46-48c5-B9FF-44718A4E5D9F}";
            string address4GuidString = "{77D2EF11-9EC5-4c51-ACF7-D62B21F24F55}";

            IRoutingItem address1 = new RoutingItem(new Guid(address1GuidString), "James", "[email protected]");
            IRoutingItem address2 = new RoutingItem(new Guid(address2GuidString), "Jane", "[email protected]");
            IRoutingItem address3 = new RoutingItem(new Guid(address3GuidString), "Ann", "[email protected]");
            IRoutingItem address4 = new RoutingItem(new Guid(address4GuidString), "Sally", "[email protected]");

            catalogueWriter.WriteLocation(address1);
            catalogueWriter.WriteLocation(address2);
            catalogueWriter.WriteLocation(address3);
            catalogueWriter.WriteLocation(address4);

            RoutingItemCollection recipients1 = new RoutingItemCollection(new Guid("{A81631A6-6AA3-45f7-AADD-4853447E5BD6}"), "{63A4F19E-332A-4006-BD0A-688BD184CB9F}");
            recipients1.Add(address1);
            recipients1.Add(address2);
            RoutingItemCollection recipients2 = new RoutingItemCollection(new Guid("{FA13BE82-9EB1-407e-9DD5-8005F3E840E4}"), "{852F1BEC-CCB6-4203-8701-89CAE87EA97B}");
            recipients2.Add(address3);
            recipients2.Add(address4);

            catalogueWriter.WriteLocationCollection(recipients1.DeepCopy(true));
            catalogueWriter.WriteLocationCollection(recipients2.DeepCopy(true));

            catalogueWriter.Close();

            TestHelpers.CompareXml(m_testPath + "ExpectedWriteReadOnlyAddressCollections.xml", catalogueStore.GetStoreXML(catalogueId));
        }