public void Description_UnassignmentOfMultipleGroups_DescriptionRefersToGroupsGenerically() { m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus").AssignVoiceActor(3); m_testProject.CharacterGroupList.GetGroupById("Crusty Old Dudes").AssignVoiceActor(2); m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother").AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, m_testProject.CharacterGroupList.CharacterGroups); Assert.AreEqual("Remove voice actor assignment for multiple groups", action.Description); }
public void Description_UnassignmentOfSingleGroupWithSingleCharacter_DescriptionRefersToCharacterNotGroup() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); Assert.AreEqual("Remove voice actor assignment for Jesus", action.Description); }
public void Description_UnassignmentOfSingleGroupWithMultipleCharacters_DescriptionRefersToGroup() { var groupWithMoses = m_testProject.CharacterGroupList.GroupContainingCharacterId("Moses"); groupWithMoses.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithMoses); Assert.AreEqual("Remove voice actor assignment for Crusty Old Dudes group", action.Description); }
public void Constructor_SingleGroup_RemovesTheVoiceActor() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); Assert.False(groupWithJesus.IsVoiceActorAssigned); Assert.AreEqual(groupWithJesus, action.GroupsAffectedByLastOperation.Single()); }
public void Description_UnassignmentOfSingleGroupWithNoCharacters_DescriptionDoesNotReferToGroup() { AddCharacterGroup(); var emptygroup = m_testProject.CharacterGroupList.CharacterGroups.Last(); emptygroup.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, emptygroup); Assert.AreEqual("Remove voice actor assignment", action.Description); }
public void Undo_NoPreviousAssignment_NoChangeAndReturnsTrue() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.RemoveVoiceActor(); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); Assert.IsTrue(action.Undo()); Assert.IsFalse(groupWithJesus.IsVoiceActorAssigned); Assert.AreEqual(0, action.GroupsAffectedByLastOperation.Count()); }
public void Undo_SingleGroupPreviousAssignment_AssignmentRestored() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); groupWithJesus.AssignVoiceActor(3); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithJesus); Assert.IsTrue(action.Undo()); Assert.AreEqual(3, groupWithJesus.VoiceActorId); Assert.AreEqual(groupWithJesus, action.GroupsAffectedByLastOperation.Single()); }
public void Constructor_MultipleGroups_RemovesTheVoiceActorForAllGroups() { m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus").AssignVoiceActor(3); m_testProject.CharacterGroupList.GetGroupById("Crusty Old Dudes").AssignVoiceActor(2); m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother").AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, m_testProject.CharacterGroupList.CharacterGroups); Assert.IsFalse(m_testProject.CharacterGroupList.CharacterGroups.Any(g => g.IsVoiceActorAssigned)); Assert.AreEqual(3, action.GroupsAffectedByLastOperation.Count()); Assert.AreEqual(3, action.GroupsAffectedByLastOperation.Intersect(m_testProject.CharacterGroupList.CharacterGroups).Count()); }
public void Constructor_SingleGroupWithNoCharacterIds_RemovesTheGroup() { AddCharacterGroup(); var emptyGroup = m_testProject.CharacterGroupList.CharacterGroups.Last(); emptyGroup.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, emptyGroup); Assert.IsFalse(m_testProject.CharacterGroupList.CharacterGroups.Contains(emptyGroup)); Assert.IsFalse(action.GroupsAffectedByLastOperation.Any()); }
public void Undo_SingleGroupNotFound_NoChangeAndReturnsFalse() { var groupWithMoses = m_testProject.CharacterGroupList.GroupContainingCharacterId("Moses"); groupWithMoses.AssignVoiceActor(2); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, groupWithMoses); Assert.IsFalse(groupWithMoses.IsVoiceActorAssigned); groupWithMoses.GroupIdOtherText = "Elderly men"; Assert.IsFalse(action.Undo()); Assert.IsFalse(groupWithMoses.IsVoiceActorAssigned); Assert.AreEqual(0, action.GroupsAffectedByLastOperation.Count()); }
public void Undo_MultipleGroupsWithOneNotFound_NoChangeAndReturnsFalse() { m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus").AssignVoiceActor(3); var groupWithMoses = m_testProject.CharacterGroupList.GetGroupById("Crusty Old Dudes"); groupWithMoses.AssignVoiceActor(2); m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother").AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, m_testProject.CharacterGroupList.CharacterGroups); groupWithMoses.GroupIdOtherText = null; Assert.IsFalse(action.Undo()); Assert.IsFalse(m_testProject.CharacterGroupList.CharacterGroups.Any(g => g.IsVoiceActorAssigned)); Assert.AreEqual(0, action.GroupsAffectedByLastOperation.Count()); }
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_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 Undo_UnassignmentOfSingleGroupWithNoCharacters_EmptyGroupReAddedAndAssignedToOriginalActor() { AddCharacterGroup(); var emptygroup = m_testProject.CharacterGroupList.CharacterGroups.Last(); emptygroup.AssignVoiceActor(2); var wasCameo = emptygroup.AssignedToCameoActor; var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, emptygroup); Assert.IsTrue(action.Undo()); var restoredGroup = m_testProject.CharacterGroupList.GetGroupsAssignedToActor(2).Single(); Assert.IsFalse(restoredGroup.CharacterIds.Any()); Assert.AreEqual(0, restoredGroup.EstimatedHours); Assert.IsNotNull(restoredGroup.AttributesDisplay); Assert.AreEqual(wasCameo, restoredGroup.AssignedToCameoActor); }
public void Undo_MultipleGroupsPreviousAssignments_AssignmentsRestored() { var groupWithJesus = m_testProject.CharacterGroupList.GroupContainingCharacterId("Jesus"); var groupWithMoses = m_testProject.CharacterGroupList.GetGroupById("Crusty Old Dudes"); var groupWithMary = m_testProject.CharacterGroupList.GroupContainingCharacterId("Mary, Jesus' mother"); groupWithJesus.AssignVoiceActor(3); groupWithMoses.AssignVoiceActor(2); groupWithMary.AssignVoiceActor(1); var action = new RemoveVoiceActorAssignmentsUndoAction(m_testProject, m_testProject.CharacterGroupList.CharacterGroups); Assert.IsTrue(action.Undo()); Assert.AreEqual(3, groupWithJesus.VoiceActorId); Assert.AreEqual(2, groupWithMoses.VoiceActorId); Assert.AreEqual(1, groupWithMary.VoiceActorId); Assert.AreEqual(3, action.GroupsAffectedByLastOperation.Count()); Assert.AreEqual(3, action.GroupsAffectedByLastOperation.Intersect(m_testProject.CharacterGroupList.CharacterGroups).Count()); }
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)); }