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