public void TestWriteReadOnlyConditionGroup() { 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("{3CD77A52-00E4-440B-B7EB-DDD3A447CDA2}")] = "Test condition group"; language[new Guid("{BC381848-3871-4624-A27B-88DB62BBF7A8}")] = "Test condition group 2"; 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 conditionGroupGuid = "{8E915159-5F01-41B3-9FFF-20731544ADFA}"; ConditionGroup conditionGroup = new ConditionGroup(new Guid(conditionGroupGuid), new TranslateableLanguageItem("{3CD77A52-00E4-440B-B7EB-DDD3A447CDA2}"), ConditionLogic.AND, false); catalogueWriter.WriteConditionGroup(conditionGroup.DeepCopy(true) as IConditionGroup); conditionGroupGuid = "{33AF2331-C69D-44EE-85F7-56188938BD9B}"; conditionGroup = new ConditionGroup(new Guid(conditionGroupGuid), new TranslateableLanguageItem("{BC381848-3871-4624-A27B-88DB62BBF7A8}"), ConditionLogic.OR, true); catalogueWriter.WriteConditionGroup(conditionGroup); catalogueWriter.Close(); TestHelpers.CompareXml(m_testPath + "ExpectedWriteReadOnlyConditionGroup.xml", catalogueStore.GetStoreXML(catalogueId)); }