public void SaveAllToXmlReaderReadAsXmlReader_ReadsBackCorrect()
        {
            WritingSystemDefinition ws1 = new WritingSystemDefinition();

            ws1.Language = "en";
            _writingSystemRepository.Set(ws1);

            WritingSystemDefinition ws2 = new WritingSystemDefinition();

            ws2.Language = "fr";
            _writingSystemRepository.Set(ws2);
            Assert.AreEqual(2, _writingSystemRepository.Count);

            XmlWriter xmlWriter = new XmlTextWriter(_testFilePath, System.Text.Encoding.UTF8);

            xmlWriter.WriteStartDocument();
            xmlWriter.WriteStartElement("someroot");
            _writingSystemRepository.SaveAllDefinitions(xmlWriter);
            xmlWriter.WriteEndElement();
            xmlWriter.WriteEndDocument();
            xmlWriter.Close();

            XmlReader xmlReader = new XmlTextReader(new StreamReader(_testFilePath));

            xmlReader.ReadToFollowing("writingsystems");

            LdmlInXmlWritingSystemRepository testRepository = new LdmlInXmlWritingSystemRepository();

            Assert.AreEqual(0, testRepository.Count);
            testRepository.LoadAllDefinitions(xmlReader);
            Assert.AreEqual(2, testRepository.Count);
            xmlReader.Close();
        }
        public void SavesWhenDirectoryNotFound()
        {
            var newRepository = new LdmlInXmlWritingSystemRepository();

            newRepository.StoreDefinition(_writingSystem);
            AssertWritingSystemFileExists(_writingSystem, newRepository);
        }
        private void WriteAllDefinitionsToFile(string filePath, LdmlInXmlWritingSystemRepository repository)
        {
            XmlWriter xmlWriter = new XmlTextWriter(filePath, System.Text.Encoding.UTF8);

            xmlWriter.WriteStartDocument();
            xmlWriter.WriteStartElement("someroot");
            repository.SaveAllDefinitions(xmlWriter);
            xmlWriter.WriteEndElement();
            xmlWriter.WriteEndDocument();
            xmlWriter.Close();
        }
        public void DefaultLanguageNotSetedIfInTrash()
        {
            _writingSystemRepository.DontSetDefaultDefinitions   = false;
            _writingSystemRepository.SystemWritingSystemProvider = new DummyWritingSystemProvider();
            IList <WritingSystemDefinition> list = _writingSystemRepository.WritingSystemDefinitions;

            Assert.IsTrue(ContainsLanguageWithName(list, "test"));
            WritingSystemDefinition ws2 = _writingSystemRepository.WritingSystemDefinitions[0];

            Assert.IsNotNull(ws2);
            _writingSystemRepository.DeleteDefinition(ws2);

            var repository = new LdmlInXmlWritingSystemRepository(_testDir);

            repository.DontSetDefaultDefinitions   = false;
            repository.SystemWritingSystemProvider = new DummyWritingSystemProvider();
            Assert.IsFalse(ContainsLanguageWithName(repository.WritingSystemDefinitions, "test"));
        }
 public void Setup()
 {
     _testFilePath            = Path.GetTempFileName();
     _writingSystemRepository = new LdmlInXmlWritingSystemRepository();
 }
        private void AssertWritingSystemFileExists(WritingSystemDefinition writingSystem, LdmlInXmlWritingSystemRepository repository)
        {
            string path = repository.PathToWritingSystem(writingSystem);

            Assert.IsTrue(File.Exists(path));
        }