Skip to content

Commit 58e134f

Browse files
Add Unit Tests
1 parent 1f467da commit 58e134f

File tree

1 file changed

+132
-37
lines changed

1 file changed

+132
-37
lines changed

src/CommunityToolkit.Maui.UnitTests/Extensions/ServiceCollectionExtensionsTests.cs

+132-37
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using CommunityToolkit.Maui.UnitTests.Mocks;
2+
using CommunityToolkit.Maui.UnitTests.Services;
23
using Xunit;
34

45
namespace CommunityToolkit.Maui.UnitTests.Extensions;
@@ -7,7 +8,39 @@ public class ServiceCollectionExtensionsTests : BaseTest
78
{
89
const string customRoute = "//MockCustomRoute";
910
readonly Type mockPageType = typeof(MockPage);
10-
readonly Type mockPageViewModelType = typeof(MockPageViewModel);
11+
readonly Type mockPopupType = typeof(MockSelfClosingPopup);
12+
readonly Type mockViewModelType = typeof(MockPageViewModel);
13+
14+
[Fact]
15+
public void IServiceCollection_VerifyTransientPopup()
16+
{
17+
// Arrange
18+
var services = MauiApp.CreateBuilder().Services;
19+
const ServiceLifetime expectedServiceLifetime = ServiceLifetime.Transient;
20+
21+
// Act
22+
services.AddTransientPopup<MockSelfClosingPopup, MockPageViewModel>();
23+
var serviceProvider = services.BuildServiceProvider();
24+
25+
// Assert
26+
var mockPopupServiceDescriptor = services.Single(s => s.ServiceType == mockPopupType && s.Lifetime.Equals(expectedServiceLifetime));
27+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
28+
29+
Assert.NotNull(mockPopupServiceDescriptor);
30+
Assert.NotNull(mockViewModelServiceDescriptor);
31+
32+
Assert.Equal(expectedServiceLifetime, mockPopupServiceDescriptor.Lifetime);
33+
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
34+
35+
Assert.Equal(mockPopupType, mockPopupServiceDescriptor.ServiceType);
36+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
37+
38+
Assert.Equal(mockPopupType, mockPopupServiceDescriptor.ImplementationType);
39+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
40+
41+
Assert.IsType<MockSelfClosingPopup>(serviceProvider.GetRequiredService<MockSelfClosingPopup>());
42+
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
43+
}
1144

1245
[Fact]
1346
public void IServiceCollection_VerifyTransient()
@@ -21,8 +54,8 @@ public void IServiceCollection_VerifyTransient()
2154
var serviceProvider = services.BuildServiceProvider();
2255

2356
// Assert
24-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
25-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
57+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
58+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
2659

2760
Assert.NotNull(mockPageServiceDescriptor);
2861
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -31,10 +64,10 @@ public void IServiceCollection_VerifyTransient()
3164
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
3265

3366
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
34-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
67+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
3568

3669
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
37-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
70+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
3871

3972
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
4073
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -53,8 +86,8 @@ public void IServiceCollection_VerifyTransientShellRouteWithRouteParam()
5386
var serviceProvider = services.BuildServiceProvider();
5487

5588
// Assert
56-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
57-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
89+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
90+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
5891

5992
Assert.NotNull(mockPageServiceDescriptor);
6093
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -65,10 +98,10 @@ public void IServiceCollection_VerifyTransientShellRouteWithRouteParam()
6598
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
6699

67100
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
68-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
101+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
69102

70103
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
71-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
104+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
72105

73106
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
74107
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -88,8 +121,8 @@ public void IServiceCollection_VerifyTransientShellRouteWithRouteAndRouteFactory
88121
var serviceProvider = services.BuildServiceProvider();
89122

90123
// Assert
91-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
92-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
124+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
125+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
93126

94127
Assert.NotNull(mockPageServiceDescriptor);
95128
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -100,15 +133,46 @@ public void IServiceCollection_VerifyTransientShellRouteWithRouteAndRouteFactory
100133
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
101134

102135
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
103-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
136+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
104137

105138
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
106-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
139+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
107140

108141
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
109142
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
110143
Assert.True(factory.WasInvoked);
111144
}
145+
146+
[Fact]
147+
public void IServiceCollection_VerifySingletonPopup()
148+
{
149+
// Arrange
150+
const ServiceLifetime expectedServiceLifetime = ServiceLifetime.Singleton;
151+
var services = MauiApp.CreateBuilder().Services;
152+
153+
// Act
154+
services.AddSingletonPopup<MockSelfClosingPopup, MockPageViewModel>();
155+
var serviceProvider = services.BuildServiceProvider();
156+
157+
// Assert
158+
var mockPpopupServiceDescriptor = services.Single(s => s.ServiceType == mockPopupType && s.Lifetime.Equals(expectedServiceLifetime));
159+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
160+
161+
Assert.NotNull(mockPpopupServiceDescriptor);
162+
Assert.NotNull(mockViewModelServiceDescriptor);
163+
164+
Assert.Equal(expectedServiceLifetime, mockPpopupServiceDescriptor.Lifetime);
165+
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
166+
167+
Assert.Equal(mockPopupType, mockPpopupServiceDescriptor.ServiceType);
168+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
169+
170+
Assert.Equal(mockPopupType, mockPpopupServiceDescriptor.ImplementationType);
171+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
172+
173+
Assert.IsType<MockSelfClosingPopup>(serviceProvider.GetRequiredService<MockSelfClosingPopup>());
174+
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
175+
}
112176

113177
[Fact]
114178
public void IServiceCollection_VerifySingleton()
@@ -122,8 +186,8 @@ public void IServiceCollection_VerifySingleton()
122186
var serviceProvider = services.BuildServiceProvider();
123187

124188
// Assert
125-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
126-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
189+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
190+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
127191

128192
Assert.NotNull(mockPageServiceDescriptor);
129193
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -132,10 +196,10 @@ public void IServiceCollection_VerifySingleton()
132196
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
133197

134198
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
135-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
199+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
136200

137201
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
138-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
202+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
139203

140204
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
141205
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -154,8 +218,8 @@ public void IServiceCollection_VerifySingletonShellRouteWithRouteParam()
154218
var serviceProvider = services.BuildServiceProvider();
155219

156220
// Assert
157-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
158-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
221+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
222+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
159223

160224
Assert.NotNull(mockPageServiceDescriptor);
161225
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -166,10 +230,10 @@ public void IServiceCollection_VerifySingletonShellRouteWithRouteParam()
166230
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
167231

168232
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
169-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
233+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
170234

171235
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
172-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
236+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
173237

174238
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
175239
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -189,8 +253,8 @@ public void IServiceCollection_VerifySingletonShellRouteWithRouteAndRouteFactory
189253
var serviceProvider = services.BuildServiceProvider();
190254

191255
// Assert
192-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
193-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
256+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
257+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
194258

195259
Assert.NotNull(mockPageServiceDescriptor);
196260
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -201,16 +265,47 @@ public void IServiceCollection_VerifySingletonShellRouteWithRouteAndRouteFactory
201265
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
202266

203267
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
204-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
268+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
205269

206270
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
207-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
271+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
208272

209273
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
210274
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
211275

212276
Assert.True(factory.WasInvoked);
213277
}
278+
279+
[Fact]
280+
public void IServiceCollection_VerifyScopedPopup()
281+
{
282+
// Arrange
283+
const ServiceLifetime expectedServiceLifetime = ServiceLifetime.Scoped;
284+
var services = MauiApp.CreateBuilder().Services;
285+
286+
// Act
287+
services.AddScopedPopup<MockSelfClosingPopup, MockPageViewModel>();
288+
var serviceProvider = services.BuildServiceProvider();
289+
290+
// Assert
291+
var mockPopupServiceDescriptor = services.Single(s => s.ServiceType == mockPopupType && s.Lifetime.Equals(expectedServiceLifetime));
292+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
293+
294+
Assert.NotNull(mockPopupServiceDescriptor);
295+
Assert.NotNull(mockViewModelServiceDescriptor);
296+
297+
Assert.Equal(expectedServiceLifetime, mockPopupServiceDescriptor.Lifetime);
298+
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
299+
300+
Assert.Equal(mockPopupType, mockPopupServiceDescriptor.ServiceType);
301+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
302+
303+
Assert.Equal(mockPopupType, mockPopupServiceDescriptor.ImplementationType);
304+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
305+
306+
Assert.IsType<MockSelfClosingPopup>(serviceProvider.GetRequiredService<MockSelfClosingPopup>());
307+
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
308+
}
214309

215310
[Fact]
216311
public void IServiceCollection_VerifyScoped()
@@ -224,8 +319,8 @@ public void IServiceCollection_VerifyScoped()
224319
var serviceProvider = services.BuildServiceProvider();
225320

226321
// Assert
227-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
228-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
322+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
323+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
229324

230325
Assert.NotNull(mockPageServiceDescriptor);
231326
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -234,10 +329,10 @@ public void IServiceCollection_VerifyScoped()
234329
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
235330

236331
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
237-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
332+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
238333

239334
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
240-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
335+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
241336

242337
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
243338
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -256,8 +351,8 @@ public void IServiceCollection_VerifyScopedShellRouteWithRouteParam()
256351
var serviceProvider = services.BuildServiceProvider();
257352

258353
// Assert
259-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
260-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
354+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
355+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
261356

262357
Assert.NotNull(mockPageServiceDescriptor);
263358
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -268,10 +363,10 @@ public void IServiceCollection_VerifyScopedShellRouteWithRouteParam()
268363
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
269364

270365
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
271-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
366+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
272367

273368
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
274-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
369+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
275370

276371
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
277372
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());
@@ -291,8 +386,8 @@ public void IServiceCollection_VerifyScopedShellRouteWithRouteAndRouteFactoryPar
291386
var serviceProvider = services.BuildServiceProvider();
292387

293388
// Assert
294-
var mockPageServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageType) && s.Lifetime.Equals(expectedServiceLifetime));
295-
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType.Equals(mockPageViewModelType) && s.Lifetime.Equals(expectedServiceLifetime));
389+
var mockPageServiceDescriptor = services.Single(s => s.ServiceType == mockPageType && s.Lifetime.Equals(expectedServiceLifetime));
390+
var mockViewModelServiceDescriptor = services.Single(s => s.ServiceType == mockViewModelType && s.Lifetime.Equals(expectedServiceLifetime));
296391

297392
Assert.NotNull(mockPageServiceDescriptor);
298393
Assert.NotNull(mockViewModelServiceDescriptor);
@@ -303,10 +398,10 @@ public void IServiceCollection_VerifyScopedShellRouteWithRouteAndRouteFactoryPar
303398
Assert.Equal(expectedServiceLifetime, mockViewModelServiceDescriptor.Lifetime);
304399

305400
Assert.Equal(mockPageType, mockPageServiceDescriptor.ServiceType);
306-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ServiceType);
401+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ServiceType);
307402

308403
Assert.Equal(mockPageType, mockPageServiceDescriptor.ImplementationType);
309-
Assert.Equal(mockPageViewModelType, mockViewModelServiceDescriptor.ImplementationType);
404+
Assert.Equal(mockViewModelType, mockViewModelServiceDescriptor.ImplementationType);
310405

311406
Assert.IsType<MockPage>(serviceProvider.GetRequiredService<MockPage>());
312407
Assert.IsType<MockPageViewModel>(serviceProvider.GetRequiredService<MockPageViewModel>());

0 commit comments

Comments
 (0)