public void GetRequiredServiceThrowsOnNoServices() { HandlerStub handlerStub = new HandlerStub(); handlerStub.SetMauiContext(new InvalidHandlersContextStub()); Assert.NotNull(handlerStub.MauiContext); Assert.Null(handlerStub.MauiContext.Services); var ex = Assert.Throws <InvalidOperationException>(() => handlerStub.GetRequiredService <IFooService>()); Assert.Contains("the service provider", ex.Message); Assert.Contains("MauiContext", ex.Message); }
public void GetRequiredServiceRetrievesService() { HandlerStub handlerStub = new HandlerStub(); var collection = new MauiServiceCollection(); collection.TryAddSingleton <IMauiHandlersFactory>(new MauiHandlersFactory(null)); collection.TryAddSingleton <IFooService, FooService>(); var provider = new MauiFactory(collection); handlerStub.SetMauiContext(new HandlersContextStub(provider)); Assert.NotNull(handlerStub.MauiContext); Assert.NotNull(handlerStub.MauiContext.Services); var foo = handlerStub.GetRequiredService <IFooService>(); Assert.IsType <FooService>(foo); }