Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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());
        }
Beispiel #6
0
        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());
        }
Beispiel #7
0
        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));
        }