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

            sut.AddSingleton(expected);

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

            actual.ShouldBe(expected);
        }
        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();
        }