public void GetNewName_ValidOperations_AreAppliedInOrder() { // Arrange var name = "Char_Hero_Idle"; var replaceStringOp = new ReplaceStringOperation(); replaceStringOp.SearchString = "ar_He"; replaceStringOp.ReplacementString = "baboon"; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = 4; var operationSequence = new RenameOperationSequence <IRenameOperation>(); operationSequence.Add(replaceStringOp); operationSequence.Add(trimCharactersOp); var operationSequenceReversed = new RenameOperationSequence <IRenameOperation>(); operationSequenceReversed.Add(trimCharactersOp); operationSequenceReversed.Add(replaceStringOp); var expected = "boonro_Idle"; var expectedReversed = "_Hero_Idle"; // Act string result = operationSequence.GetResultingName(name, 0); string resultReversed = operationSequenceReversed.GetResultingName(name, 0); // Assert Assert.AreEqual(expected, result); Assert.AreEqual(expectedReversed, resultReversed); }
public void Trimming_TargetIsNull_IsEmpty() { // Arrange string name = null; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = 1; var expected = RenameResult.Empty; // Act var result = trimCharactersOp.Rename(name, 0); // Assert Assert.AreEqual(expected, result); }
public void Trimming_DeleteNone_IsUnchanged() { // Arrange var name = "Char_Hero"; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = 0; trimCharactersOp.NumBackDeleteChars = 0; var expected = new RenameResult() { new Diff(name, DiffOperation.Equal) }; // Act var result = trimCharactersOp.Rename(name, 0); // Assert Assert.AreEqual(expected, result); }
public void Trimming_DeleteTooManyFromBothDirections_EntireStringIsDeleted() { // Arrange var name = "Char_Hero"; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = name.Length; trimCharactersOp.NumBackDeleteChars = name.Length; var expected = new RenameResult() { new Diff(name, DiffOperation.Deletion) }; // Act var result = trimCharactersOp.Rename(name, 0); // Assert Assert.AreEqual(expected, result); }
public void Trimming_DeleteOneFromBack_IsDeleted() { // Arrange var name = "Char_Hero"; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = 0; trimCharactersOp.NumBackDeleteChars = 1; var expected = new RenameResult() { new Diff("Char_Her", DiffOperation.Equal), new Diff("o", DiffOperation.Deletion), }; // Act var result = trimCharactersOp.Rename(name, 0); // Assert Assert.AreEqual(expected, result); }
public void GetNewName_AllOperations_RenamesCorrectly() { // Arrange var name = "Char_Hero_Idle"; var trimCharactersOp = new TrimCharactersOperation(); trimCharactersOp.NumFrontDeleteChars = 1; trimCharactersOp.NumBackDeleteChars = 5; var replaceStringOp = new ReplaceStringOperation(); replaceStringOp.SearchString = "r_H"; replaceStringOp.ReplacementString = "t_Z"; var addStringOp = new AddStringOperation(); addStringOp.Prefix = "a_"; addStringOp.Suffix = "AA"; var enumerateOp = new EnumerateOperation(); enumerateOp.SetCountFormat("D4"); enumerateOp.StartingCount = 100; var operationSequence = new RenameOperationSequence <IRenameOperation>(); operationSequence.Add(trimCharactersOp); operationSequence.Add(replaceStringOp); operationSequence.Add(addStringOp); operationSequence.Add(enumerateOp); var expected = "a_hat_ZeroAA0100"; // Act string result = operationSequence.GetResultingName(name, 0); // Assert Assert.AreEqual(expected, result); }
/// <summary> /// Initializes a new instance of the <see cref="TrimCharactersOperation"/> class. /// This is a clone constructor, copying the values from one to another. /// </summary> /// <param name="operationToCopy">Operation to copy.</param> public TrimCharactersOperation(TrimCharactersOperation operationToCopy) { this.NumFrontDeleteChars = operationToCopy.NumFrontDeleteChars; this.NumBackDeleteChars = operationToCopy.NumBackDeleteChars; }
/// <summary> /// Clone this instance. /// </summary> /// <returns>A clone of this instance</returns> public override RenameOperation Clone() { var clone = new TrimCharactersOperation(this); return(clone); }