コード例 #1
0
        public void Test010()
        {
            using var sut = new TestServiceProvider();

            sut.Add(new ServiceDescriptor(typeof(DummyService), new DummyService()));
            sut.Insert(0, new ServiceDescriptor(typeof(AnotherDummyService), new AnotherDummyService()));
            sut[1] = new ServiceDescriptor(typeof(DummyService), new DummyService());

            sut.Count.ShouldBe(2);
            sut[0].ServiceType.ShouldBe(typeof(AnotherDummyService));
            sut[1].ServiceType.ShouldBe(typeof(DummyService));
        }
コード例 #2
0
        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();
        }