Browse Source

Fix tests

pull/8738/head
Max Katz 4 years ago
parent
commit
2fdba46f0c
  1. 14
      tests/Avalonia.ReactiveUI.UnitTests/AutoSuspendHelperTest.cs
  2. 11
      tests/Avalonia.ReactiveUI.UnitTests/AvaloniaActivationForViewFetcherTest.cs
  3. 5
      tests/Avalonia.ReactiveUI.UnitTests/ReactiveUserControlTest.cs
  4. 5
      tests/Avalonia.ReactiveUI.UnitTests/ReactiveWindowTest.cs
  5. 4
      tests/Avalonia.ReactiveUI.UnitTests/RoutedViewHostTest.cs
  6. 3
      tests/Avalonia.ReactiveUI.UnitTests/ViewModelViewHostTest.cs

14
tests/Avalonia.ReactiveUI.UnitTests/AutoSuspendHelperTest.cs

@ -7,6 +7,7 @@ using System.Reactive;
using System.Reactive.Subjects;
using System.Reactive.Linq;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization;
using System.Threading;
using Avalonia.Controls.ApplicationLifetimes;
@ -17,6 +18,7 @@ using Avalonia.UnitTests;
using Avalonia.Markup.Xaml;
using Avalonia.ReactiveUI;
using Avalonia;
using Avalonia.Threading;
using ReactiveUI;
using DynamicData;
using Xunit;
@ -93,13 +95,23 @@ namespace Avalonia.ReactiveUI.UnitTests
var suspension = new AutoSuspendHelper(application.ApplicationLifetime);
RxApp.SuspensionHost.CreateNewAppState = () => new AppState { Example = "Foo" };
RxApp.SuspensionHost.ShouldPersistState.Subscribe(_ => shouldPersistReceived = true);
RxApp.SuspensionHost.SetupDefaultSuspendResume(new DummySuspensionDriver());
RxApp.SuspensionHost.SetupDefaultSuspendResume(new FakeSuspensionDriver());
suspension.OnFrameworkInitializationCompleted();
lifetime.Shutdown();
Assert.True(shouldPersistReceived);
Assert.Equal("Foo", RxApp.SuspensionHost.GetAppState<AppState>().Example);
}
}
private class FakeSuspensionDriver : ISuspensionDriver
{
public IObservable<object> LoadState() => Observable.Empty<object>();
public IObservable<Unit> SaveState(object state) => Observable.Empty<Unit>();
public IObservable<Unit> InvalidateState() => Observable.Empty<Unit>();
}
}
}

11
tests/Avalonia.ReactiveUI.UnitTests/AvaloniaActivationForViewFetcherTest.cs

@ -12,6 +12,7 @@ using Xunit;
using Splat;
using Avalonia.Markup.Xaml;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
namespace Avalonia.ReactiveUI.UnitTests
{
@ -109,10 +110,12 @@ namespace Avalonia.ReactiveUI.UnitTests
var fakeRenderedDecorator = new TestRoot();
fakeRenderedDecorator.Child = userControl;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(activated[0]);
Assert.Equal(1, activated.Count);
fakeRenderedDecorator.Child = null;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(activated[0]);
Assert.False(activated[1]);
Assert.Equal(2, activated.Count);
@ -139,9 +142,11 @@ namespace Avalonia.ReactiveUI.UnitTests
var fakeRenderedDecorator = new TestRoot();
fakeRenderedDecorator.Child = userControl;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(userControl.Active);
fakeRenderedDecorator.Child = null;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.False(userControl.Active);
}
@ -154,9 +159,11 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(window.Active);
window.Show();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(window.Active);
window.Close();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.False(window.Active);
}
}
@ -171,9 +178,11 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(viewModel.IsActivated);
window.Show();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(viewModel.IsActivated);
window.Close();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.False(viewModel.IsActivated);
}
}
@ -187,9 +196,11 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(viewModel.IsActivated);
root.Child = control;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.True(viewModel.IsActivated);
root.Child = null;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.False(viewModel.IsActivated);
}
}

5
tests/Avalonia.ReactiveUI.UnitTests/ReactiveUserControlTest.cs

@ -1,5 +1,6 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Threading;
using Avalonia.UnitTests;
using ReactiveUI;
using Splat;
@ -69,12 +70,14 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(view.ViewModel.IsActive);
root.Child = view;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
Assert.True(view.ViewModel.IsActive);
root.Child = null;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
@ -90,12 +93,14 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(view.ViewModel.IsActive);
root.Child = view;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
Assert.True(view.ViewModel.IsActive);
root.Child = null;
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);

5
tests/Avalonia.ReactiveUI.UnitTests/ReactiveWindowTest.cs

@ -1,4 +1,5 @@
using System.Reactive.Disposables;
using Avalonia.Threading;
using Avalonia.UnitTests;
using ReactiveUI;
using Splat;
@ -72,12 +73,14 @@ namespace Avalonia.ReactiveUI.UnitTests
Assert.False(view.ViewModel.IsActive);
view.Show();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
Assert.True(view.ViewModel.IsActive);
view.Close();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
@ -96,12 +99,14 @@ namespace Avalonia.ReactiveUI.UnitTests
view.Show();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
Assert.True(view.ViewModel.IsActive);
view.Close();
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(view.ViewModel);
Assert.NotNull(view.DataContext);
Assert.False(view.ViewModel.IsActive);

4
tests/Avalonia.ReactiveUI.UnitTests/RoutedViewHostTest.cs

@ -15,6 +15,7 @@ using System.ComponentModel;
using System.Threading.Tasks;
using System.Reactive;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
namespace Avalonia.ReactiveUI.UnitTests
{
@ -75,6 +76,7 @@ namespace Avalonia.ReactiveUI.UnitTests
Child = host
};
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(host.Content);
Assert.IsType<TextBlock>(host.Content);
Assert.Equal(defaultContent, host.Content);
@ -126,6 +128,7 @@ namespace Avalonia.ReactiveUI.UnitTests
Child = host
};
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(host.Content);
Assert.IsType<TextBlock>(host.Content);
Assert.Equal(defaultContent, host.Content);
@ -191,6 +194,7 @@ namespace Avalonia.ReactiveUI.UnitTests
Child = host
};
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(host.Content);
Assert.Equal(defaultContent, host.Content);

3
tests/Avalonia.ReactiveUI.UnitTests/ViewModelViewHostTest.cs

@ -1,4 +1,5 @@
using Avalonia.Controls;
using Avalonia.Threading;
using Avalonia.UnitTests;
using ReactiveUI;
using Splat;
@ -46,6 +47,7 @@ namespace Avalonia.ReactiveUI.UnitTests
Child = host
};
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(host.Content);
Assert.Equal(typeof(TextBlock), host.Content.GetType());
Assert.Equal(defaultContent, host.Content);
@ -91,6 +93,7 @@ namespace Avalonia.ReactiveUI.UnitTests
Child = host
};
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded);
Assert.NotNull(host.Content);
Assert.Equal(typeof(TextBlock), host.Content.GetType());
Assert.Equal(defaultContent, host.Content);

Loading…
Cancel
Save