Dreamine.FullKit.Wpf.Tests 1.0.0.0
Dreamine.FullKit.Wpf.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests 클래스 참조sealed

더 자세히 ...

클래스

class  TestMessage
class  DisposableSharedService
class  TestRootComponent

Public 멤버 함수

async Task InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType ()
void HybridStateStore_UpdatesStateAndRaisesEvent ()
void HybridStateStore_SubscribeDisposesEventHandler ()
void BooleanToVisibilityConverter_ConvertsBothWays ()
void DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures ()
void BlazorServerHostedService_RejectsDisposableSharedServicesByDefault ()
void DesignTimeGuard_IsInDesignModeCanBeRead ()

상세한 설명

Hybrid Tests 기능과 관련 상태를 캡슐화합니다.

HybridTests.cs 파일의 23 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ BlazorServerHostedService_RejectsDisposableSharedServicesByDefault()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.BlazorServerHostedService_RejectsDisposableSharedServicesByDefault ( )
inline

Blazor Server Hosted Service Rejects Disposable Shared Services By Default 작업을 수행합니다.

HybridTests.cs 파일의 153 번째 라인에서 정의되었습니다.

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 }

◆ BooleanToVisibilityConverter_ConvertsBothWays()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.BooleanToVisibilityConverter_ConvertsBothWays ( )
inline

Boolean To Visibility Converter Converts Both Ways 작업을 수행합니다.

HybridTests.cs 파일의 115 번째 라인에서 정의되었습니다.

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 }

◆ DesignTimeGuard_IsInDesignModeCanBeRead()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DesignTimeGuard_IsInDesignModeCanBeRead ( )
inline

Design Time Guard Is In Design Mode Can Be Read 작업을 수행합니다.

HybridTests.cs 파일의 187 번째 라인에서 정의되었습니다.

188 {
189 _ = Dreamine.Hybrid.Wpf.Utility.DesignTimeGuard.IsInDesignMode;
190 }

◆ DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.DreamineWpfOptions_CreateDefaultEnablesBootstrapFeatures ( )
inline

Dreamine Wpf Options Create Default Enables Bootstrap Features 작업을 수행합니다.

HybridTests.cs 파일의 134 번째 라인에서 정의되었습니다.

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 }

◆ HybridStateStore_SubscribeDisposesEventHandler()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.HybridStateStore_SubscribeDisposesEventHandler ( )
inline

Hybrid State Store Subscribe Disposes Event Handler 작업을 수행합니다.

HybridTests.cs 파일의 91 번째 라인에서 정의되었습니다.

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 }

◆ HybridStateStore_UpdatesStateAndRaisesEvent()

void Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.HybridStateStore_UpdatesStateAndRaisesEvent ( )
inline

Hybrid State Store Updates State And Raises Event 작업을 수행합니다.

HybridTests.cs 파일의 69 번째 라인에서 정의되었습니다.

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 }

◆ InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType()

async Task Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.InMemoryHybridMessageBus_PublishesAndUnsubscribesByMessageType ( )
inline

In Memory Hybrid Message Bus Publishes And Unsubscribes By Message Type 작업을 수행합니다.

반환값
In Memory Hybrid Message Bus Publishes And Unsubscribes By Message Type 작업에서 생성한 Task 결과입니다.

HybridTests.cs 파일의 42 번째 라인에서 정의되었습니다.

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 }

다음을 참조함 : Dreamine.FullKit.Wpf.Tests.Hybrid.HybridTests.TestMessage.Value.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: