コード例 #1
0
        private void RunTest(CopyPaste.PatchDuplication patchNameSetting, string ignoreFragments,
                             int sourceIndex, int destinationCompareIndex,
                             bool patchNamesEqual, int destinationIndex, bool pasted)
        {
            SetUp();
            Settings.Default.CopyPaste_OverwriteFilledPrograms             = true;
            Settings.Default.CopyPaste_PatchDuplicationName                = (int)patchNameSetting;
            Settings.Default.CopyPaste_IgnoreCharactersForPatchDuplication = ignoreFragments;

            IPatch            program2              = ((ProgramBank)_pcgOs2.ProgramBanks["I-A"])[sourceIndex]; // I-A000 Kronos grand.
            CopyPasteCommands commands2             = new CopyPasteCommands();
            ObservableCollectionEx <IPatch> patches = new ObservableCollectionEx <IPatch> {
                program2
            };

            PcgClipBoard clipBoard = new PcgClipBoard();

            program2.IsSelected = true;
            commands2.CopyPasteCopy(clipBoard, _pcgOs2, PcgViewModel.ScopeSet.Patches, true,
                                    false, false, false, false, false, false,
                                    null, patches, false);

            ProgramBank icBank = (ProgramBank)_pcgOs3.ProgramBanks["I-C"];

            if (patchNamesEqual)
            {
                Assert.AreEqual(program2.Name, icBank[destinationCompareIndex].Name);
            }

            IPatch program3 = icBank[destinationIndex];
            ObservableCollectionEx <IPatch> patches3 = new ObservableCollectionEx <IPatch> {
                program3
            };

            program3.Clear();
            program3.IsSelected = true;
            Assert.AreNotEqual(program2.Name, program3.Name);

            commands2.CopyPastePaste(clipBoard, _pcgOs3, PcgViewModel.ScopeSet.Patches, true,
                                     false, false, false, false, false, false,
                                     null, patches3);

            if (pasted)
            {
                Assert.AreEqual(program2.Name, program3.Name);
            }
            else
            {
                Assert.AreNotEqual(program2.Name, program3.Name);
            }
        }
コード例 #2
0
        public void CopyProgramDefault()
        {
            SetUp();

            IPatch            program2              = ((ProgramBank)_pcgOs2.ProgramBanks[0])[0];
            CopyPasteCommands commands2             = new CopyPasteCommands();
            ObservableCollectionEx <IBank>  banks   = new ObservableCollectionEx <IBank>();
            ObservableCollectionEx <IPatch> patches = new ObservableCollectionEx <IPatch> {
                program2
            };

            PcgClipBoard clipBoard = new PcgClipBoard();

            program2.IsSelected = true;
            commands2.CopyPasteCopy(clipBoard, _pcgOs2, PcgViewModel.ScopeSet.Patches, true,
                                    false, false, false, false, false, false,
                                    null, patches, false);

            CopyPasteCommands commands3 = new CopyPasteCommands();
            IPatch            program3  = _pcgOs3.ProgramBanks[0][0];
            ObservableCollectionEx <IPatch> patches3 = new ObservableCollectionEx <IPatch>()
            {
                program3
            };

            banks.Add(program3.Parent as IBank);

            program3.Clear();
            program3.IsSelected = true;
            Assert.AreNotEqual(program2.Name, program3.Name);

            commands3.CopyPastePaste(clipBoard, _pcgOs3, PcgViewModel.ScopeSet.Patches, true,
                                     false, false, false, false, false, false,
                                     banks, patches3);
            Assert.AreEqual(program2.Name, program3.Name);
        }