Пример #1
0
        public void RemoveSymbols_SymbolsAndAlphanumericsInString_RemovesOnlySymbols()
        {
            // Arrange
            var name = "A!@#$%BD*(";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Symbols);

            var expected = new RenameResult()
            {
                new Diff("A", DiffOperation.Equal),
                new Diff("!", DiffOperation.Deletion),
                new Diff("@", DiffOperation.Deletion),
                new Diff("#", DiffOperation.Deletion),
                new Diff("$", DiffOperation.Deletion),
                new Diff("%", DiffOperation.Deletion),
                new Diff("BD", DiffOperation.Equal),
                new Diff("*", DiffOperation.Deletion),
                new Diff("(", DiffOperation.Deletion),
            };

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #2
0
        public void RemoveNumbers_LettersAndNumbersInString_RemovesOnlyNumbers()
        {
            // Arrange
            var name = "A251B637k911p";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Numbers);

            var expected = new RenameResult()
            {
                new Diff("A", DiffOperation.Equal),
                new Diff("2", DiffOperation.Deletion),
                new Diff("5", DiffOperation.Deletion),
                new Diff("1", DiffOperation.Deletion),
                new Diff("B", DiffOperation.Equal),
                new Diff("6", DiffOperation.Deletion),
                new Diff("3", DiffOperation.Deletion),
                new Diff("7", DiffOperation.Deletion),
                new Diff("k", DiffOperation.Equal),
                new Diff("9", DiffOperation.Deletion),
                new Diff("1", DiffOperation.Deletion),
                new Diff("1", DiffOperation.Deletion),
                new Diff("p", DiffOperation.Equal),
            };

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #3
0
        public void RenameObjects_SpritesheetWithNamesThatWillOverlap_Renames()
        {
            // Tests Issue #126: https://github.com/redbluegames/unity-mulligan-renamer/issues/126
            // Arrange
            var spriteSheetConfig = new SpriteSheetGenerationConfig(2, "Texture.png");

            spriteSheetConfig.NamePrefix           = "Texture_Sprite";
            spriteSheetConfig.UseZeroBasedIndexing = true;
            var textureWithSprites = this.SetupSpriteSheet(spriteSheetConfig);
            var removeNumbersOp    = new RemoveCharactersOperation();

            removeNumbersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Numbers);
            var enumerateOp = new EnumerateOperation();

            enumerateOp.StartingCount = 1;
            enumerateOp.Increment     = 1;

            var renameSequence = new RenameOperationSequence <IRenameOperation>();

            renameSequence.Add(removeNumbersOp);
            renameSequence.Add(enumerateOp);

            var path            = AssetDatabase.GetAssetPath(textureWithSprites);
            var allAssetsAtPath = AssetDatabase.LoadAllAssetsAtPath(path);
            var allSprites      = new List <Object>();

            foreach (var asset in allAssetsAtPath)
            {
                if (asset is Sprite)
                {
                    allSprites.Add(asset);
                }
            }

            // Act
            var bulkRenamer = new BulkRenamer(renameSequence);

            bulkRenamer.RenameObjects(allSprites, true);

            // Assert
            var expectedNames = new List <string>
            {
                "Texture_Sprite1",
                "Texture_Sprite2",
                "Texture_Sprite3",
                "Texture_Sprite4",
            };

            var resultingNames = new List <string>();

            foreach (var sprite in allSprites)
            {
                resultingNames.Add(sprite.name);
            }

            Assert.AreEqual(expectedNames, resultingNames);
        }
Пример #4
0
        public void RemoveWhitespace_LettersSymbolsAndWhitespaceInString_RemovesOnlyWhitespace()
        {
            // Arrange
            var name = "A1! B";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Whitespace);

            var expected = new RenameResult()
            {
                new Diff("A1!", DiffOperation.Equal),
                new Diff(" ", DiffOperation.Deletion),
                new Diff("B", DiffOperation.Equal),
            };

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #5
0
        public void RemoveSymbols_StringHasWhitespaceAndSymbols_KeepsWhitespace()
        {
            // Arrange
            var name = "!A !";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Symbols);

            var expected = new RenameResult()
            {
                new Diff("!", DiffOperation.Deletion),
                new Diff("A ", DiffOperation.Equal),
                new Diff("!", DiffOperation.Deletion),
            };

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #6
0
        public void RemoveSymbols_OnlySymbolsInString_RemovesAllSymbols()
        {
            // Arrange
            var name = "`~!@#$%^&*()+-=[]{}\\|;:'\",<.>/?";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Symbols);

            var expected = new RenameResult();

            for (int i = 0; i < name.Length; ++i)
            {
                var substring = name.Substring(i, 1);
                expected.Add(new Diff(substring, DiffOperation.Deletion));
            }

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #7
0
        public void RemoveWhitespace_AllWhitespace_IsEmpty()
        {
            // Arrange
            var name = "    ";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Whitespace);

            var expected = new RenameResult();

            for (int i = 0; i < name.Length; ++i)
            {
                var substring = name.Substring(i, 1);
                expected.Add(new Diff(substring, DiffOperation.Deletion));
            }

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }
Пример #8
0
        public void RemoveNumbers_AllNumbersInString_RemovesAllNumbers()
        {
            // Arrange
            var name = "1234567890";
            var removeCharactersOp = new RemoveCharactersOperation();

            removeCharactersOp.SetOptionPreset(RemoveCharactersOperation.PresetID.Numbers);

            var expected = new RenameResult();

            for (int i = 0; i < name.Length; ++i)
            {
                var substring = name.Substring(i, 1);
                expected.Add(new Diff(substring, DiffOperation.Deletion));
            }

            // Act
            var result = removeCharactersOp.Rename(name, 0);

            // Assert
            Assert.AreEqual(expected, result);
        }