Dreamine.FullKit.Wpf.Tests
1.0.0.0
Dreamine.FullKit.Wpf.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
HybridTests.cs
이 파일의 문서화 페이지로 가기
1
using
System.Globalization;
2
using
System.Reflection;
3
using
System.Windows;
4
using
Dreamine.Hybrid.Messaging;
5
using
Dreamine.Hybrid.Interfaces;
6
using
Dreamine.Hybrid.State;
7
using
Dreamine.Hybrid.Wpf.Converters;
8
using
Dreamine.Hybrid.Wpf.Hosting;
9
using
Microsoft.AspNetCore.Components;
10
using
Microsoft.Extensions.DependencyInjection;
11
using
Dreamine.MVVM.Wpf;
12
13
namespace
Dreamine.FullKit.Wpf.Tests.Hybrid
;
14
23
public
sealed
class
HybridTests
24
{
41
[Fact]
42
public
async Task
InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType
()
43
{
44
var bus =
new
InMemoryHybridMessageBus();
45
var received =
new
List<int>();
46
47
using
var subscription = bus.Subscribe<
TestMessage
>((message, _) =>
48
{
49
received.Add(message.
Value
);
50
return
Task.CompletedTask;
51
});
52
53
await bus.PublishAsync(
new
TestMessage
(3));
54
subscription.Dispose();
55
await bus.PublishAsync(
new
TestMessage
(4));
56
57
Assert.Equal(
new
[] { 3 }, received);
58
}
59
68
[Fact]
69
public
void
HybridStateStore_UpdatesStateAndRaisesEvent
()
70
{
71
var store =
new
HybridStateStore<int>(1);
72
var states =
new
List<int>();
73
store.StateChanged += (_, args) => states.Add(args.State);
74
75
store.SetState(2);
76
store.Update(value => value + 3);
77
78
Assert.Equal(5, store.State);
79
Assert.Equal(
new
[] { 2, 5 }, states);
80
}
81
90
[Fact]
91
public
void
HybridStateStore_SubscribeDisposesEventHandler
()
92
{
93
var store =
new
HybridStateStore<int>(1);
94
var states =
new
List<int>();
95
96
using
(store.Subscribe((_, args) => states.Add(args.State)))
97
{
98
store.SetState(2);
99
}
100
101
store.SetState(3);
102
103
Assert.Equal(
new
[] { 2 }, states);
104
}
105
114
[Fact]
115
public
void
BooleanToVisibilityConverter_ConvertsBothWays
()
116
{
117
var converter = BooleanToVisibilityConverter.Instance;
118
119
Assert.Equal(Visibility.Visible, converter.Convert(
true
, typeof(Visibility),
null
!, CultureInfo.InvariantCulture));
120
Assert.Equal(Visibility.Collapsed, converter.Convert(
false
, typeof(Visibility),
null
!, CultureInfo.InvariantCulture));
121
Assert.True((
bool
)converter.ConvertBack(Visibility.Visible, typeof(
bool
),
null
!, CultureInfo.InvariantCulture));
122
Assert.False((
bool
)converter.ConvertBack(Visibility.Collapsed, typeof(
bool
),
null
!, CultureInfo.InvariantCulture));
123
}
124
133
[Fact]
134
public
void
DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures
()
135
{
136
var options = DreamineWpfOptions.CreateDefault();
137
138
Assert.True(options.EnableGlobalAutoWireOnLoaded);
139
Assert.True(options.RegisterDefaultServices);
140
Assert.True(options.EnableAutoNavigatorRegistration);
141
Assert.Equal(
"SubPage"
, options.DefaultRegionName);
142
}
143
152
[Fact]
153
public
void
BlazorServerHostedService_RejectsDisposableSharedServicesByDefault
()
154
{
155
var rootServices =
new
ServiceCollection();
156
rootServices.AddSingleton<
DisposableSharedService
>();
157
rootServices.AddSingleton<IHybridMessageBus, InMemoryHybridMessageBus>();
158
159
using
ServiceProvider rootProvider = rootServices.BuildServiceProvider();
160
var options =
new
DreamineBlazorServerHostOptions();
161
options.SharedServiceTypes.Add(typeof(
DisposableSharedService
));
162
163
var service =
new
DreamineBlazorServerHostedService<TestRootComponent>(
164
rootProvider,
165
rootProvider.GetRequiredService<IHybridMessageBus>(),
166
options);
167
168
MethodInfo method = typeof(DreamineBlazorServerHostedService<TestRootComponent>)
169
.GetMethod(
"RegisterSharedServices"
, BindingFlags.Instance | BindingFlags.NonPublic)!;
170
171
var targetServices =
new
ServiceCollection();
172
TargetInvocationException exception = Assert.Throws<TargetInvocationException>(
173
() => method.Invoke(service,
new
object
[] { targetServices }));
174
175
Assert.IsType<InvalidOperationException>(exception.InnerException);
176
}
177
186
[Fact]
187
public
void
DesignTimeGuard_IsInDesignModeCanBeRead
()
188
{
189
_ =
Dreamine
.Hybrid.Wpf.Utility.DesignTimeGuard.IsInDesignMode;
190
}
191
200
private
sealed
class
TestMessage
: HybridMessageBase
201
{
218
public
TestMessage
(
int
value)
219
{
220
Value
= value;
221
}
222
231
public
int
Value
{
get
; }
232
}
233
242
private
sealed
class
DisposableSharedService
: IDisposable
243
{
252
public
void
Dispose
()
253
{
254
}
255
}
256
265
private
sealed
class
TestRootComponent
: IComponent
266
{
283
public
void
Attach
(RenderHandle renderHandle)
284
{
285
}
286
311
public
Task
SetParametersAsync
(ParameterView parameters)
312
{
313
return
Task.CompletedTask;
314
}
315
}
316
}
Dreamine
Definition
BehaviorTests.cs:6
Dreamine.FullKit.Wpf.Tests.Hybrid
Definition
HybridTests.cs:13
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests
Definition
HybridTests.cs:24
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DesignTimeGuard_IsInDesignModeCanBeRead
void DesignTimeGuard_IsInDesignModeCanBeRead()
Definition
HybridTests.cs:187
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.HybridStateStore_SubscribeDisposesEventHandler
void HybridStateStore_SubscribeDisposesEventHandler()
Definition
HybridTests.cs:91
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.BooleanToVisibilityConverter_ConvertsBothWays
void BooleanToVisibilityConverter_ConvertsBothWays()
Definition
HybridTests.cs:115
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.BlazorServerHostedService_RejectsDisposableSharedServicesByDefault
void BlazorServerHostedService_RejectsDisposableSharedServicesByDefault()
Definition
HybridTests.cs:153
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures
void DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures()
Definition
HybridTests.cs:134
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType
async Task InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType()
Definition
HybridTests.cs:42
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.HybridStateStore_UpdatesStateAndRaisesEvent
void HybridStateStore_UpdatesStateAndRaisesEvent()
Definition
HybridTests.cs:69
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestMessage
Definition
HybridTests.cs:201
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestMessage.TestMessage
TestMessage(int value)
Definition
HybridTests.cs:218
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestMessage.Value
int Value
Definition
HybridTests.cs:231
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DisposableSharedService
Definition
HybridTests.cs:243
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DisposableSharedService.Dispose
void Dispose()
Definition
HybridTests.cs:252
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestRootComponent
Definition
HybridTests.cs:266
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestRootComponent.Attach
void Attach(RenderHandle renderHandle)
Definition
HybridTests.cs:283
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestRootComponent.SetParametersAsync
Task SetParametersAsync(ParameterView parameters)
Definition
HybridTests.cs:311
Hybrid
HybridTests.cs
다음에 의해 생성됨 :
1.17.0