Dreamine.FullKit.Wpf.Tests
1.0.0.0
Dreamine.FullKit.Wpf.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
DreamineAppBuilderTests.cs
이 파일의 문서화 페이지로 가기
1
using
System;
2
using
System.Threading;
3
using
System.Windows;
4
using
System.Windows.Controls;
5
using
Dreamine.MVVM.Core;
6
using
Dreamine.MVVM.Interfaces.Navigation;
7
using
Dreamine.MVVM.Locators.Wpf;
8
using
Dreamine.MVVM.Wpf;
9
10
namespace
Dreamine.FullKit.Wpf.Tests.Wpf
;
11
20
public
sealed
class
DreamineAppBuilderTests
21
{
30
[Fact]
31
public
void
RegisterNavigatorFromWindowReplacesExistingNavigatorWithCurrentWindowRegion
()
32
{
33
RunSta
(() =>
34
{
35
DMContainer.Reset();
36
RegionBinder.Clear();
37
38
var firstRegion =
new
ContentControl();
39
RegionBinder.SetRegionName(firstRegion,
"AppBuilder_Main"
);
40
var firstWindow =
new
Window { Content = firstRegion };
41
42
var secondRegion =
new
ContentControl();
43
RegionBinder.SetRegionName(secondRegion,
"AppBuilder_Main"
);
44
var secondWindow =
new
Window { Content = secondRegion };
45
46
try
47
{
48
firstWindow.Show();
49
secondWindow.Show();
50
51
DreamineAppBuilder.RegisterNavigatorFromWindow(firstWindow,
"AppBuilder_Main"
);
52
DreamineAppBuilder.RegisterNavigatorFromWindow(secondWindow,
"AppBuilder_Main"
);
53
54
INavigator navigator = DMContainer.Resolve<INavigator>();
55
navigator.Navigate(
new
AppBuilderSampleViewModel
());
56
57
Assert.Null(firstRegion.Content);
58
Assert.IsType<
AppBuilderSampleView
>(secondRegion.Content);
59
}
60
finally
61
{
62
firstWindow.Close();
63
secondWindow.Close();
64
RegionBinder.Clear();
65
DMContainer.Reset();
66
}
67
});
68
}
69
86
private
static
void
RunSta
(Action action)
87
{
88
Exception? exception =
null
;
89
var thread =
new
Thread(() =>
90
{
91
try
92
{
93
action();
94
}
95
catch
(Exception ex)
96
{
97
exception = ex;
98
}
99
});
100
101
thread.SetApartmentState(ApartmentState.STA);
102
thread.Start();
103
thread.Join();
104
105
if
(exception is not
null
)
106
{
107
throw
exception;
108
}
109
}
110
111
}
112
121
public
sealed
class
AppBuilderSampleViewModel
122
{
123
}
124
133
public
sealed
class
AppBuilderSampleView
: UserControl
134
{
135
}
Dreamine.FullKit.Wpf.Tests.Wpf
Definition
DreamineAppBuilderTests.cs:10
Dreamine.FullKit.Wpf.Tests.Wpf.DreamineAppBuilderTests
Definition
DreamineAppBuilderTests.cs:21
Dreamine.FullKit.Wpf.Tests.Wpf.DreamineAppBuilderTests.RunSta
static void RunSta(Action action)
Definition
DreamineAppBuilderTests.cs:86
Dreamine.FullKit.Wpf.Tests.Wpf.DreamineAppBuilderTests.RegisterNavigatorFromWindowReplacesExistingNavigatorWithCurrentWindowRegion
void RegisterNavigatorFromWindowReplacesExistingNavigatorWithCurrentWindowRegion()
Definition
DreamineAppBuilderTests.cs:31
Dreamine.FullKit.Wpf.Tests.Wpf.AppBuilderSampleViewModel
Definition
DreamineAppBuilderTests.cs:122
Dreamine.FullKit.Wpf.Tests.Wpf.AppBuilderSampleView
Definition
DreamineAppBuilderTests.cs:134
Wpf
DreamineAppBuilderTests.cs
다음에 의해 생성됨 :
1.17.0