public void Test020()
        {
            using var sut = new TestServiceProvider();
            var expected = new DummyService();

            sut.AddSingleton(expected);

            var actual = sut.GetService <DummyService>();

            actual.ShouldBe(expected);
        }
        /// <summary>
        /// Adds the <see cref="MockJsRuntimeInvokeHandler"/> to the <see cref="TestServiceProvider"/>.
        /// </summary>
        /// <returns>The added <see cref="MockJsRuntimeInvokeHandler"/>.</returns>
        public static MockJsRuntimeInvokeHandler AddMockJsRuntime(this TestServiceProvider serviceProvider, JsRuntimeMockMode mode = JsRuntimeMockMode.Loose)
        {
            if (serviceProvider is null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            var result = new MockJsRuntimeInvokeHandler(mode);

            serviceProvider.AddSingleton(result.ToJsRuntime());

            return(result);
        }
Example #3
0
        /// <summary>
        /// Create a <see cref="MockHttpMessageHandler"/> and adds it to the
        /// <paramref name="serviceProvider"/> as a <see cref="HttpClient"/>.
        /// </summary>
        /// <param name="serviceProvider"></param>
        /// <returns>The <see cref="MockHttpMessageHandler"/>.</returns>
        public static MockHttpMessageHandler AddMockHttp(this TestServiceProvider serviceProvider)
        {
            if (serviceProvider is null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            var mockHttp   = new MockHttpMessageHandler();
            var httpClient = mockHttp.ToHttpClient();

            httpClient.BaseAddress = new Uri("http://example.com");
            serviceProvider.AddSingleton(httpClient);
            return(mockHttp);
        }
        public void Test013()
        {
            var descriptor = new ServiceDescriptor(typeof(AnotherDummyService), new AnotherDummyService());

            using var sut = new TestServiceProvider();
            sut.AddSingleton(new DummyService());
            sut.GetService <DummyService>();

            // Try adding
            Should.Throw <InvalidOperationException>(() => sut.Add(descriptor));
            Should.Throw <InvalidOperationException>(() => sut.Insert(0, descriptor));
            Should.Throw <InvalidOperationException>(() => sut[0] = descriptor);

            // Try removing
            Should.Throw <InvalidOperationException>(() => sut.Remove(descriptor));
            Should.Throw <InvalidOperationException>(() => sut.RemoveAt(0));
            Should.Throw <InvalidOperationException>(() => sut.Clear());

            // Verify state
            sut.IsProviderInitialized.ShouldBeTrue();
            sut.IsReadOnly.ShouldBeTrue();
        }