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); }
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)); }