Dreamine.FullKit.Tests
1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
ViewModelLocatorTests.cs
이 파일의 문서화 페이지로 가기
1
using
Dreamine.MVVM.Interfaces.Locators;
2
using
Dreamine.MVVM.Locators;
3
4
namespace
Dreamine.FullKit.Tests.Locators
;
5
14
public
sealed
class
ViewModelLocatorTests
: IDisposable
15
{
24
public
ViewModelLocatorTests
()
25
{
26
ViewModelLocator.Reset();
27
}
28
37
public
void
Dispose
()
38
{
39
ViewModelLocator.Reset();
40
}
41
50
[Fact]
51
public
void
Resolve_UsesRegisteredResolverForMappedViewModel
()
52
{
53
var expected =
new
SampleViewModel
();
54
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
55
ViewModelLocator.RegisterResolver(
new
FixedResolver
(expected));
56
57
object
? resolved = ViewModelLocator.Resolve(typeof(
SampleView
));
58
59
Assert.Same(expected, resolved);
60
}
61
70
[Fact]
71
public
void
Resolve_ThrowsClearMessageWhenResolverIsMissing
()
72
{
73
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
74
75
var exception = Assert.Throws<InvalidOperationException>(
76
() => ViewModelLocator.Resolve(typeof(
SampleView
)));
77
78
Assert.Contains(
"no ViewModel resolver is configured"
, exception.Message);
79
Assert.DoesNotContain(
"Activator.CreateInstance"
, exception.Message);
80
}
81
90
[Fact]
91
public
void
Resolve_ThrowsClearMessageWhenResolverReturnsNull
()
92
{
93
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
94
ViewModelLocator.RegisterResolver(
new
NullResolver
());
95
96
var exception = Assert.Throws<InvalidOperationException>(
97
() => ViewModelLocator.Resolve(typeof(
SampleView
)));
98
99
Assert.Contains(
"not resolved by the configured resolver"
, exception.Message);
100
}
101
110
[Fact]
111
public
void
Reset_ClearsMappingsAndResolver
()
112
{
113
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
114
ViewModelLocator.RegisterResolver(
new
FixedResolver
(
new
SampleViewModel
()));
115
116
ViewModelLocator.Reset();
117
118
Assert.Null(ViewModelLocator.Resolve(typeof(
SampleView
)));
119
}
120
129
[Fact]
130
public
void
Clear_KeepsResolverAndClearsMappings
()
131
{
132
var expected =
new
SampleViewModel
();
133
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
134
ViewModelLocator.RegisterResolver(
new
FixedResolver
(expected));
135
136
ViewModelLocator.Clear();
137
ViewModelLocator.Register(typeof(
SampleView
), typeof(
SampleViewModel
));
138
139
object
? resolved = ViewModelLocator.Resolve(typeof(
SampleView
));
140
141
Assert.Same(expected, resolved);
142
}
143
152
private
sealed
class
SampleView
153
{
154
}
155
164
private
sealed
class
SampleViewModel
165
{
166
}
167
176
private
sealed
class
FixedResolver
: IViewModelResolver
177
{
186
private
readonly
object
_instance
;
187
204
public
FixedResolver
(
object
instance)
205
{
206
_instance
= instance;
207
}
208
233
public
object
?
Resolve
(Type viewModelType)
234
{
235
return
_instance
.GetType() == viewModelType ?
_instance
:
null
;
236
}
237
}
238
247
private
sealed
class
NullResolver
: IViewModelResolver
248
{
273
public
object
?
Resolve
(Type viewModelType)
274
{
275
return
null
;
276
}
277
}
278
}
Dreamine.FullKit.Tests.Locators
Definition
ViewModelLocatorTests.cs:4
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Resolve_ThrowsClearMessageWhenResolverIsMissing
void Resolve_ThrowsClearMessageWhenResolverIsMissing()
Definition
ViewModelLocatorTests.cs:71
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.ViewModelLocatorTests
ViewModelLocatorTests()
Definition
ViewModelLocatorTests.cs:24
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Resolve_ThrowsClearMessageWhenResolverReturnsNull
void Resolve_ThrowsClearMessageWhenResolverReturnsNull()
Definition
ViewModelLocatorTests.cs:91
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Reset_ClearsMappingsAndResolver
void Reset_ClearsMappingsAndResolver()
Definition
ViewModelLocatorTests.cs:111
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Resolve_UsesRegisteredResolverForMappedViewModel
void Resolve_UsesRegisteredResolverForMappedViewModel()
Definition
ViewModelLocatorTests.cs:51
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Dispose
void Dispose()
Definition
ViewModelLocatorTests.cs:37
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.Clear_KeepsResolverAndClearsMappings
void Clear_KeepsResolverAndClearsMappings()
Definition
ViewModelLocatorTests.cs:130
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.SampleView
Definition
ViewModelLocatorTests.cs:153
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.SampleViewModel
Definition
ViewModelLocatorTests.cs:165
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.FixedResolver
Definition
ViewModelLocatorTests.cs:177
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.FixedResolver._instance
readonly object _instance
Definition
ViewModelLocatorTests.cs:186
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.FixedResolver.FixedResolver
FixedResolver(object instance)
Definition
ViewModelLocatorTests.cs:204
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.FixedResolver.Resolve
object? Resolve(Type viewModelType)
Definition
ViewModelLocatorTests.cs:233
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.NullResolver
Definition
ViewModelLocatorTests.cs:248
Dreamine.FullKit.Tests.Locators.ViewModelLocatorTests.NullResolver.Resolve
object? Resolve(Type viewModelType)
Definition
ViewModelLocatorTests.cs:273
Locators
ViewModelLocatorTests.cs
다음에 의해 생성됨 :
1.17.0