2 changed files with 71 additions and 0 deletions
@ -0,0 +1,34 @@ |
|||
// Copyright (c) The Avalonia Project. All rights reserved.
|
|||
// Licensed under the MIT license. See licence.md file in the project root for full license information.
|
|||
|
|||
using Avalonia.Controls; |
|||
using Avalonia.UnitTests; |
|||
using ReactiveUI; |
|||
using Splat; |
|||
using Xunit; |
|||
|
|||
namespace Avalonia.ReactiveUI.UnitTests |
|||
{ |
|||
public class ReactiveUserControlTest |
|||
{ |
|||
public class ExampleViewModel : ReactiveObject { } |
|||
|
|||
public class ExampleView : ReactiveUserControl<ExampleViewModel> { } |
|||
|
|||
[Fact] |
|||
public void Data_Context_Should_Stay_In_Sync_With_Reactive_User_Control_View_Model() |
|||
{ |
|||
var view = new ExampleView(); |
|||
var viewModel = new ExampleViewModel(); |
|||
Assert.Null(view.ViewModel); |
|||
|
|||
view.DataContext = viewModel; |
|||
Assert.Equal(view.ViewModel, viewModel); |
|||
Assert.Equal(view.DataContext, viewModel); |
|||
|
|||
view.DataContext = null; |
|||
Assert.Null(view.ViewModel); |
|||
Assert.Null(view.DataContext); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
// Copyright (c) The Avalonia Project. All rights reserved.
|
|||
// Licensed under the MIT license. See licence.md file in the project root for full license information.
|
|||
|
|||
using Avalonia.Controls; |
|||
using Avalonia.UnitTests; |
|||
using ReactiveUI; |
|||
using Splat; |
|||
using Xunit; |
|||
|
|||
namespace Avalonia.ReactiveUI.UnitTests |
|||
{ |
|||
public class ReactiveWindowTest |
|||
{ |
|||
public class ExampleViewModel : ReactiveObject { } |
|||
|
|||
public class ExampleWindow : ReactiveWindow<ExampleViewModel> { } |
|||
|
|||
[Fact] |
|||
public void Data_Context_Should_Stay_In_Sync_With_Reactive_Window_View_Model() |
|||
{ |
|||
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|||
{ |
|||
var view = new ExampleWindow(); |
|||
var viewModel = new ExampleViewModel(); |
|||
Assert.Null(view.ViewModel); |
|||
|
|||
view.DataContext = viewModel; |
|||
Assert.Equal(view.ViewModel, viewModel); |
|||
Assert.Equal(view.DataContext, viewModel); |
|||
|
|||
view.DataContext = null; |
|||
Assert.Null(view.ViewModel); |
|||
Assert.Null(view.DataContext); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue