diff --git a/WpfViewModelFirst.Tests/MainWindowViewModelTests.cs b/WpfViewModelFirst.Tests/MainWindowViewModelTests.cs index fa6e9b8..177955d 100644 --- a/WpfViewModelFirst.Tests/MainWindowViewModelTests.cs +++ b/WpfViewModelFirst.Tests/MainWindowViewModelTests.cs @@ -10,7 +10,7 @@ namespace WpfViewModelFirst.Tests public void Part1WillSetPart1ViewModelToCurrentViewModel() { Part1ViewModel part1ViewModel = new(() => { return Task.CompletedTask; }); - Mock mockViewModelFactory = new Mock(); + Mock mockViewModelFactory = new(); mockViewModelFactory.Setup(vmf => vmf.GetPart1ViewModel(It.IsAny>())) .Returns(part1ViewModel); MainWindowViewModel main = new(mockViewModelFactory.Object); @@ -20,10 +20,9 @@ namespace WpfViewModelFirst.Tests [Fact] public async Task Part1CallbackIsSuccessfull() { - TaskCompletionSource taskCompletionSource = new TaskCompletionSource(); - Mock mockViewModelFactory = new Mock(); + TaskCompletionSource taskCompletionSource = new(); + Mock mockViewModelFactory = new(); mockViewModelFactory.Setup(vmf => vmf.GetPart1ViewModel(It.IsAny>())) - .Returns(() => new Part1ViewModel(() => { return Task.CompletedTask; @@ -31,7 +30,6 @@ namespace WpfViewModelFirst.Tests })) .Callback>(c => { - //taskCompletionSource.SetResult(true); Task.Run(() => { c.Invoke(); @@ -44,15 +42,7 @@ namespace WpfViewModelFirst.Tests main.Part1(null); await taskCompletionSource.Task.WaitAsync(CancellationToken.None); Assert.IsType(main.CurrentViewModel); - taskCompletionSource = new(); - await taskCompletionSource.Task.WaitAsync(CancellationToken.None); Assert.Single(main.Strings); - - } - - Func Part1Func() - { - return () => Task.CompletedTask; } } } \ No newline at end of file diff --git a/WpfViewModelFirst/MainWindowViewModel.cs b/WpfViewModelFirst/MainWindowViewModel.cs index 1373ab8..a509f61 100644 --- a/WpfViewModelFirst/MainWindowViewModel.cs +++ b/WpfViewModelFirst/MainWindowViewModel.cs @@ -20,7 +20,7 @@ namespace WpfViewModelFirst StartCommand = new CustomCommand(Part1); } - private IViewModelFactory _viewModelFactory; + private readonly IViewModelFactory _viewModelFactory; public ICommand StartCommand { get; set; } @@ -35,9 +35,7 @@ namespace WpfViewModelFirst var currentDispatcher = Dispatcher.CurrentDispatcher; return LongDelay().ContinueWith((c) => { - //System.Diagnostics.Debug.WriteLine(c.Result); CurrentViewModel = _viewModelFactory.GetPart2ViewModel(); - ItHappened?.Invoke(); currentDispatcher.Invoke(() => { Strings.Add($"{DateTime.Now}");