public void Rename_NullTarget_Adds()
        {
            // Arrange
            string name            = null;
            var    countByLetterOp = new CountByLetterOperation();

            countByLetterOp.SetCountSequence(new string[] { "A" });

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

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

            // Assert
            Assert.AreEqual(expected, result);
        }
        public void Rename_Increment_CountsByIncrement()
        {
            // Arrange
            string name            = string.Empty;;
            var    countByLetterOp = new CountByLetterOperation();

            countByLetterOp.SetCountSequence(new string[] { "X", "Y", "Z" });
            countByLetterOp.Increment = 2;

            var expected = new RenameResult()
            {
                new Diff("XY", DiffOperation.Insertion)
            };

            // Act
            var result = countByLetterOp.Rename(name, 2);

            // Assert
            Assert.AreEqual(expected, result);
        }
        public void Rename_DoNotCarryOver_LoopsToNext()
        {
            // Arrange
            string name            = string.Empty;;
            var    countByLetterOp = new CountByLetterOperation();

            countByLetterOp.SetCountSequence(new string[] { "X", "Y", "Z" });
            countByLetterOp.DoNotCarryOver = true;

            var expected = new RenameResult()
            {
                new Diff("X", DiffOperation.Insertion)
            };

            // Act
            var result = countByLetterOp.Rename(name, 3);

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