예제 #1
0
        public void WriteIconNameMapping(IconFileNameHelper iconFileNameHelper, bool isTest, IEnumerable <XmlNode> iconNodes, Dictionary <string, SerializableDictionary <string> > localizations, string annoVersion, string BUILDING_PRESETS_VERSION)
        {
            var iconNameMappings = new IconMappingPresets()
            {
                Version = BUILDING_PRESETS_VERSION
            };

            foreach (var iconNode in iconNodes)
            {
                var guid         = iconNode["GUID"].InnerText;
                var iconFilename = iconFileNameHelper.GetIconFilename(iconNode["Icons"].FirstChild, annoVersion);
                if (!localizations.ContainsKey(guid) || iconNameMappings.IconNameMappings.Exists(_ => _.IconFilename == iconFilename))
                {
                    continue;
                }

                iconNameMappings.IconNameMappings.Add(new IconNameMap
                {
                    IconFilename  = iconFilename,
                    Localizations = localizations[guid]
                });
            }

            if (!isTest)
            {
                var fileName = "icons-Anno" + annoVersion + "-v" + BUILDING_PRESETS_VERSION + ".json";
                SerializationHelper.SaveToFile(iconNameMappings, fileName);
                Console.WriteLine($"saved icon name mapping file: {fileName}");
            }
            else
            {
                Console.WriteLine("THIS IS A TEST: No icons.json file is writen");
            }
        }
        public void GetIconFilename_AnnoVersionIsNot1404AndIconIndex_ShouldReturnFileNameWithIconIndex()
        {
            // Arrange
            var helper = new IconFileNameHelper();

            var doc = new XmlDocument();

            doc.LoadXml("<root><IconFileID>myFileId</IconFileID><IconIndex>42</IconIndex></root>");
            var rootNode = doc["root"];

            // Act
            var result = helper.GetIconFilename(rootNode, Constants.ANNO_VERSION_2205);

            // Assert
            Assert.Equal("icon_myFileId_42.png", result);
        }
        public void GetIconFilename_AnnoVersionIs1404_ShouldReturnFileNameWithPrefix()
        {
            // Arrange
            var helper = new IconFileNameHelper();

            var doc = new XmlDocument();

            doc.LoadXml("<root><IconFileID>myFileId</IconFileID><IconIndex>42</IconIndex></root>");
            var rootNode = doc["root"];

            // Act
            var result = helper.GetIconFilename(rootNode, Constants.ANNO_VERSION_1404);

            // Assert
            Assert.StartsWith("A4_", result);
        }