public void Suspend() { var dir = Get("Suspend"); var args = Preset.Extract.ToArguments().Concat(GetSource("SampleHeavy.7z")); var value = new ExtractSetting { SaveLocation = SaveLocation.Preset, SaveDirectory = dir, }; using (var vm = NewVM(args, value)) { vm.Start(); Assert.That(Wait.For(() => vm.State == TimerState.Run), $"1.{vm.State}"); vm.SuspendOrResume(); Assert.That(Wait.For(() => vm.State == TimerState.Suspend), $"2.{vm.State}"); vm.SuspendOrResume(); Assert.That(Wait.For(() => vm.State == TimerState.Run), $"3.{vm.State}"); Task.Delay(1000).Wait(); } var dest = Io.Combine(dir, "SampleHeavy"); Assert.That(Io.Exists(dest), dest); }
/* ----------------------------------------------------------------- */ /// /// NewVM /// /// <summary> /// Creates a new instance of the ExtractViewModel class with /// the specified arguments. /// </summary> /// /// <param name="args">Program arguments.</param> /// <param name="settings">User settings for compression.</param> /// /// <returns>ExtractViewModel object.</returns> /// /* ----------------------------------------------------------------- */ protected ExtractViewModel NewVM(IEnumerable <string> args, ExtractSetting settings) { var ss = NewSettings(); ss.Value.Extract = settings; ss.Value.Extract.OpenMethod = OpenMethod.None; return(new ExtractViewModel(new(args), ss, new())); }
public void CancelPassword() { var dest = Get("CancelPassword"); var args = Preset.Extract.ToArguments().Concat(GetSource("Password.7z")); var value = new ExtractSetting { SaveLocation = SaveLocation.Preset, SaveDirectory = dest, }; using var vm = NewVM(args, value); vm.Test(); }
public void CancelOverwrite() { var dummy = GetSource("Sample.txt"); var size = Io.Get(dummy).Length; var dest = Get("CancelOverwrite"); var args = Preset.Extract.ToArguments().Concat(GetSource("Complex.1.0.0.zip")); var value = new ExtractSetting { SaveLocation = SaveLocation.Preset, SaveDirectory = dest, }; Io.Copy(dummy, Io.Combine(dest, "Foo.txt"), true); using var vm = NewVM(args, value); using (vm.SetOverwrite(OverwriteMethod.Cancel)) vm.Test(); Assert.That(Io.Get(Io.Combine(dest, "Foo.txt")).Length, Is.EqualTo(size)); }
public void DeleteSource() { var src = Get("Complex.zip"); var dest = Get("DeleteSource"); var args = Preset.Extract.ToArguments().Concat(src); var value = new ExtractSetting { SaveLocation = SaveLocation.Preset, SaveDirectory = dest, DeleteSource = true, }; Io.Copy(GetSource("Complex.1.0.0.zip"), src, true); Assert.That(Io.Exists(src), Is.True); using var vm = NewVM(args, value); vm.Test(); Assert.That(Io.Exists(src), Is.False); Assert.That(Io.Exists(Io.Combine(dest, "Complex")), Is.True); }
public void Rename() { var dummy = GetSource("Sample.txt"); var dest = Get(@"Rename"); var args = Preset.Extract.ToArguments().Concat(GetSource("Complex.1.0.0.zip")); var value = new ExtractSetting { SaveLocation = SaveLocation.Preset, SaveDirectory = dest, }; Io.Copy(dummy, Io.Combine(dest, @"Complex.1.0.0\Foo.txt"), true); Io.Copy(dummy, Io.Combine(dest, @"Complex.1.0.0\Directory\Empty.txt"), true); using var vm = NewVM(args, value); using (vm.SetOverwrite(OverwriteMethod.Rename)) vm.Test(); Assert.That(Io.Exists(Io.Combine(dest, @"Complex.1.0.0\Foo(1).txt")), Is.True); Assert.That(Io.Exists(Io.Combine(dest, @"Complex.1.0.0\Directory\Empty(1).txt")), Is.True); }
public void Extract(string dest, IEnumerable <string> files, IEnumerable <string> args, ExtractSetting settings) { settings.SaveDirectory = Get("Preset"); using var vm = NewVM(args.Concat(files.Select(e => GetSource(e))), settings); using (vm.SetPassword("password")) // if needed using (vm.SetDestination(Get("Runtime"))) { Assert.That(vm.State, Is.EqualTo(TimerState.Stop)); Assert.That(vm.Cancelable, Is.False); Assert.That(vm.Suspended, Is.False); Assert.That(vm.Count, Is.Not.Null.And.Not.Empty); Assert.That(vm.Title, Does.StartWith("0%").And.EndsWith("CubeICE")); Assert.That(vm.Text, Does.StartWith("ファイルを解凍する準備をしています")); vm.Test(); GetType().LogDebug(vm.Elapsed, vm.Remaining, vm.Title); } Assert.That(Io.Exists(Get(dest)), Is.True, dest); }