public void Redo_SingleGroupPreviousAssignment_AssignmentCleared() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.AssignVoiceActor(3); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); action.Undo(); Assert.IsTrue(action.Redo()); Assert.IsFalse(groupWithJesus.IsVoiceActorAssigned); Assert.AreEqual(groupWithJesus, action.GroupsAffectedByLastOperation.Single()); }
public void Redo_NoPreviousAssignment_NoChangeAndReturnsTrue() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.RemoveVoiceActor(); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); action.Undo(); Assert.IsTrue(action.Redo()); Assert.IsFalse(groupWithJesus.IsVoiceActorAssigned); Assert.AreEqual(0, action.GroupsAffectedByLastOperation.Count()); }
public void Redo_SingleGroupNotFound_NoChangeAndReturnsFalse() { var groupWithMoses = m_testProject.CharacterGroupList.GroupContainingCharacterId("Moses"); groupWithMoses.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithMoses); action.Undo(); Assert.AreEqual(2, groupWithMoses.VoiceActorId); groupWithMoses.GroupIdOtherText = "Elderly men"; Assert.IsFalse(action.Redo()); Assert.AreEqual(2, groupWithMoses.VoiceActorId); Assert.AreEqual(0, action.GroupsAffectedByLastOperation.Count()); }
public void Redo_UnassignmentOfSingleGroupWithNoCharacters_EmptyGroupRemoved() { AddCharacterGroup(); var emptygroup = m_testProject.CharacterGroupList.CharacterGroups.Last(); emptygroup.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, emptygroup); action.Undo(); int countAfterUndo = m_testProject.CharacterGroupList.CharacterGroups.Count; Assert.IsTrue(action.Redo()); Assert.IsFalse(m_testProject.CharacterGroupList.GetGroupsAssignedToActor(2).Any()); Assert.AreEqual(countAfterUndo - 1, m_testProject.CharacterGroupList.CharacterGroups.Count); }
public void Redo_SingleGroupNameChangedToBeExplicit_RedoFails() { var groupWithMary = m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother"); groupWithMary.AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithMary); action.Undo(); Assert.AreEqual(1, groupWithMary.VoiceActorId); groupWithMary.GroupIdLabel = CharacterGroup.Label.Other; groupWithMary.GroupIdOtherText = "Ladies"; Assert.IsFalse(action.Redo()); Assert.IsTrue(groupWithMary.IsVoiceActorAssigned); Assert.IsFalse(action.GroupsAffectedByLastOperation.Any()); }
public void Redo_SingleGroupNameChangedToBeExplicit_AssignmentCleared() { var groupWithMary = m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary"); Assert.IsNull(groupWithMary.GroupNameInternal); groupWithMary.AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithMary); action.Undo(); Assert.AreEqual(1, groupWithMary.VoiceActorId); groupWithMary.Name = "Ladies"; Assert.IsTrue(action.Redo()); Assert.IsFalse(groupWithMary.IsVoiceActorAssigned); Assert.AreEqual(groupWithMary, action.GroupsAffectedByLastOperation.Single()); }
public void Redo_MultipleGroupsPreviousAssignments_AssignmentsCleared() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.AssignVoiceActor(3); var groupWithMoses = m_testProject.CharacterGroupList.GetGroupById("Crusty Old Dudes"); groupWithMoses.AssignVoiceActor(2); var groupWithMary = m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother"); groupWithMary.AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, new [] { groupWithJesus, groupWithMoses }); action.Undo(); Assert.IsTrue(action.Redo()); Assert.IsFalse(groupWithJesus.IsVoiceActorAssigned); Assert.IsFalse(groupWithMoses.IsVoiceActorAssigned); Assert.IsTrue(groupWithMary.IsVoiceActorAssigned); Assert.AreEqual(2, action.GroupsAffectedByLastOperation.Count()); Assert.IsTrue(action.GroupsAffectedByLastOperation.Contains(groupWithJesus)); Assert.IsTrue(action.GroupsAffectedByLastOperation.Contains(groupWithMoses)); }