예제 #1
0
        private void LoadSuggestionReferenceFile()
        {
            var reader = new ResourceFileReader();

            string referenceFileName = GetFileFromUser("Select the file containing reference strings for suggestions");

            if (referenceFileName == null)
            {
                return;
            }
            string translatedFileName = GetFileFromUser("Select the file containing translated strings for suggestions");

            if (translatedFileName == null)
            {
                return;
            }

            ResourceFile referenceFile  = reader.ReadXmlFile(referenceFileName);
            ResourceFile translatedFile = reader.ReadXmlFile(translatedFileName);

            foreach (Resource referenceResource in referenceFile.Resources)
            {
                Resource translatedResource = translatedFile.FindResourceByName(referenceResource.Name);
                _resourceSuggester.AddResource(
                    new TranslatedResource(referenceResource.Name, referenceResource.Text, translatedResource.Text));
            }
        }
        public void AddResourceWithDuplicateName_ShouldReplaceExistingResourceWhenReplaceExistingResourcesIsTrue()
        {
            _suggester.ReplaceExistingResources = true;
            var resources = new[]
            {
                CreateTranslatedResource("A.B", SearchText),
                CreateTranslatedResource("A.B", AnotherText),
            };
            var expectedResult = resources[1];

            _suggester.AddResource(resources[0]);
            _suggester.AddResource(resources[1]);

            _suggester.ReferenceResources.Should().HaveCount(1);
            _suggester.ReferenceResources.Single().Resource.ShouldBeEquivalentTo(expectedResult);
        }