Esempio n. 1
0
        public void InsertRange_AddsElementAtTheRequestedLocation()
        {
            // Arrange
            var config             = new HttpConfiguration();
            var defaultServices    = new DefaultServices(config);
            var filterProvider1    = new Mock <IFilterProvider>().Object;
            var filterProvider2    = new Mock <IFilterProvider>().Object;
            var newFilterProvider1 = new Mock <IFilterProvider>().Object;
            var newFilterProvider2 = new Mock <IFilterProvider>().Object;

            defaultServices.ReplaceRange(
                typeof(IFilterProvider),
                new[] { filterProvider1, filterProvider2 }
                );

            // Act
            defaultServices.InsertRange(
                typeof(IFilterProvider),
                1,
                new[] { newFilterProvider1, newFilterProvider2 }
                );

            // Assert
            Assert.Equal(
                new[] { filterProvider1, newFilterProvider1, newFilterProvider2, filterProvider2 },
                defaultServices.GetServices(typeof(IFilterProvider))
                );
        }
Esempio n. 2
0
        public void InsertRange_GuardClauses()
        {
            // Arrange
            var config          = new HttpConfiguration();
            var defaultServices = new DefaultServices(config);

            // Act & assert
            Assert.ThrowsArgumentNull(
                () =>
                defaultServices.InsertRange(
                    serviceType: null,
                    index: 0,
                    services: new[] { new object() }
                    ),
                "serviceType"
                );
            Assert.ThrowsArgumentNull(
                () => defaultServices.InsertRange(typeof(object), 0, services: null),
                "services"
                );
            Assert.ThrowsArgument(
                () => defaultServices.InsertRange(typeof(object), 0, new[] { new object() }),
                "serviceType",
                "The service type Object is not supported."
                );
            Assert.ThrowsArgument(
                () =>
                defaultServices.InsertRange(
                    typeof(IHttpActionInvoker),
                    0,
                    new[] { new object() }
                    ),
                "services",
                "The type Object must derive from IHttpActionInvoker."
                );
            Assert.ThrowsArgumentOutOfRange(
                () =>
                defaultServices.InsertRange(
                    typeof(ValueProviderFactory),
                    -1,
                    new[] { new Mock <ValueProviderFactory>().Object }
                    ),
                "index",
                "Index was out of range. Must be non-negative and less than the size of the collection."
                );
        }
        public void InsertRange_AddsElementAtTheRequestedLocation()
        {
            // Arrange
            var config = new HttpConfiguration();
            var defaultServices = new DefaultServices(config);
            var filterProvider1 = new Mock<IFilterProvider>().Object;
            var filterProvider2 = new Mock<IFilterProvider>().Object;
            var newFilterProvider1 = new Mock<IFilterProvider>().Object;
            var newFilterProvider2 = new Mock<IFilterProvider>().Object;
            defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 });

            // Act
            defaultServices.InsertRange(typeof(IFilterProvider), 1, new[] { newFilterProvider1, newFilterProvider2 });

            // Assert
            Assert.Equal(new[] { filterProvider1, newFilterProvider1, newFilterProvider2, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider)));
        }
        public void InsertRange_GuardClauses()
        {
            // Arrange
            var config = new HttpConfiguration();
            var defaultServices = new DefaultServices(config);

            // Act & assert
            Assert.ThrowsArgumentNull(() => defaultServices.InsertRange(serviceType: null, index: 0, services: new[] { new object() }), "serviceType");
            Assert.ThrowsArgumentNull(() => defaultServices.InsertRange(typeof(object), 0, services: null), "services");
            Assert.ThrowsArgument(
                () => defaultServices.InsertRange(typeof(object), 0, new[] { new object() }),
                "serviceType",
                "The service type Object is not supported.");
            Assert.ThrowsArgument(
                () => defaultServices.InsertRange(typeof(IHttpActionInvoker), 0, new[] { new object() }),
                "services",
                "The type Object must derive from IHttpActionInvoker.");
            Assert.ThrowsArgumentOutOfRange(
                () => defaultServices.InsertRange(typeof(ValueProviderFactory), -1, new[] { new Mock<ValueProviderFactory>().Object }),
                "index",
                "Index was out of range. Must be non-negative and less than the size of the collection.");
        }