public void AddSerialNumberPattern_AddChangeReAdd() { var model = new MainModel(new MockFileSystem(), Scheduler.Immediate); var settingVM = new SettingAppViewModel(model); model.Initialize(); AddSerialNumberViewModel addSerialNumberVM = settingVM.AddSerialNumberVM; const string addSerialNumberHead = "$n"; //ステージ1 追加前 settingVM.ReplaceTexts .Should().NotContain(x => x.ReplaceText.Value.Contains(addSerialNumberHead), "まだ含まれていないはず"); addSerialNumberVM.SampleDiffVMs.Value .Select(x => x.SampleDiff.NewText.ToRawText()) .Should().BeEquivalentTo(new[] { "1_aaa.txt", "2_bbb.txt", "3_ccc.txt", "4_ddd.txt" }); //ステージ2 追加後 addSerialNumberVM.StartNumber.Value = 10; addSerialNumberVM.Step.Value = 5; addSerialNumberVM.ZeroPadCount.Value = 3; addSerialNumberVM.IsDirectoryReset.Value = true; addSerialNumberVM.IsInverseOrder.Value = true; addSerialNumberVM.PrefixText.Value = "["; addSerialNumberVM.PostfixText.Value = "]_"; addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"[$n<10,5,000,r,i>]_", "含まれているはず"); addSerialNumberVM.SampleDiffVMs.Value .Select(x => x.SampleDiff.NewText.ToRawText()) .Should().BeEquivalentTo(new[] { "[020]_aaa.txt", "[015]_bbb.txt", "[010]_ccc.txt", "[010]_ddd.txt" }); //ステージ3 追加後編集 ReplacePatternViewModel addedPattern = settingVM.ReplaceTexts.Where(x => x.ReplaceText.Value.Contains(addSerialNumberHead)).First(); const string changedTarget = "XXX"; addedPattern.ReplaceText.Value = changedTarget; settingVM.ReplaceTexts .Should().NotContain(x => x.ReplaceText.Value.Contains(addSerialNumberHead), "変更したので、含まれていないはず"); //ステージ4 再度追加 addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"[$n<10,5,000,r,i>]_", "含まれているはず"); }
public void AddSerialNumberPattern_Paramerters() { var model = new MainModel(new MockFileSystem(), Scheduler.Immediate); var settingVM = new SettingAppViewModel(model); model.Initialize(); AddSerialNumberViewModel addSerialNumberVM = settingVM.AddSerialNumberVM; //ステージ デフォルトパラメータ指定 addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"$n_", "含まれているはず"); //ステージ 部分パラメータ指定1 addSerialNumberVM.StartNumber.Value = 10; addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"$n<10>_", "含まれているはず"); //ステージ 部分パラメータ指定2 addSerialNumberVM.StartNumber.Value = AddSerialNumberRegex.DefaultStartNumber; addSerialNumberVM.Step.Value = 5; addSerialNumberVM.IsDirectoryReset.Value = true; addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"$n<,5,,r>_", "含まれているはず"); //ステージ 全パラメータ指定1 addSerialNumberVM.StartNumber.Value = 10; addSerialNumberVM.Step.Value = 5; addSerialNumberVM.ZeroPadCount.Value = 3; addSerialNumberVM.IsDirectoryReset.Value = true; addSerialNumberVM.IsInverseOrder.Value = true; addSerialNumberVM.PrefixText.Value = "["; addSerialNumberVM.PostfixText.Value = "]_"; addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"[$n<10,5,000,r,i>]_", "含まれているはず"); //ステージ 全パラメータ指定2 addSerialNumberVM.StartNumber.Value = 99; addSerialNumberVM.Step.Value = 100; addSerialNumberVM.ZeroPadCount.Value = 2; addSerialNumberVM.IsDirectoryReset.Value = true; addSerialNumberVM.IsInverseOrder.Value = true; addSerialNumberVM.PrefixText.Value = @"No\. "; addSerialNumberVM.PostfixText.Value = "-"; addSerialNumberVM.AddSettingCommand.Execute(); settingVM.ReplaceTexts .Should().Contain(x => x.ReplaceText.Value == @"No\. $n<99,100,00,r,i>-", "含まれているはず"); }