Exemple #1
0
        public void Insert_GuardClauses()
        {
            // Arrange
            var config          = new HttpConfiguration();
            var defaultServices = new DefaultServices(config);

            // Act & assert
            Assert.ThrowsArgumentNull(() => defaultServices.Insert(serviceType: null, index: 0, service: new object()), "serviceType");
            Assert.ThrowsArgumentNull(() => defaultServices.Insert(typeof(object), 0, service: null), "service");
            Assert.ThrowsArgument(
                () => defaultServices.Insert(typeof(object), 0, new object()),
                "serviceType",
                "The service type Object is not supported.");
            Assert.ThrowsArgument(
                () => defaultServices.Insert(typeof(IHttpActionInvoker), 0, new object()),
                "service",
                "The type Object must derive from IHttpActionInvoker.");
            Assert.ThrowsArgumentOutOfRange(
                () => defaultServices.Insert(typeof(IHttpActionInvoker), -1, new Mock <IHttpActionInvoker>().Object),
                "index",
                "Index must be within the bounds of the List.");
        }
Exemple #2
0
        public void Insert_AddsElementAtTheRequestedLocation()
        {
            // Arrange
            var config            = new HttpConfiguration();
            var defaultServices   = new DefaultServices(config);
            var filterProvider1   = new Mock <IFilterProvider>().Object;
            var filterProvider2   = new Mock <IFilterProvider>().Object;
            var newFilterProvider = new Mock <IFilterProvider>().Object;

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

            // Act
            defaultServices.Insert(typeof(IFilterProvider), 1, newFilterProvider);

            // Assert
            Assert.Equal(new[] { filterProvider1, newFilterProvider, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider)));
        }
        public void Insert_AddsElementAtTheRequestedLocation()
        {
            // Arrange
            var config = new HttpConfiguration();
            var defaultServices = new DefaultServices(config);
            var filterProvider1 = new Mock<IFilterProvider>().Object;
            var filterProvider2 = new Mock<IFilterProvider>().Object;
            var newFilterProvider = new Mock<IFilterProvider>().Object;
            defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 });

            // Act
            defaultServices.Insert(typeof(IFilterProvider), 1, newFilterProvider);

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

            // Act & assert
            Assert.ThrowsArgumentNull(() => defaultServices.Insert(serviceType: null, index: 0, service: new object()), "serviceType");
            Assert.ThrowsArgumentNull(() => defaultServices.Insert(typeof(object), 0, service: null), "service");
            Assert.ThrowsArgument(
                () => defaultServices.Insert(typeof(object), 0, new object()),
                "serviceType",
                "The service type Object is not supported.");
            Assert.ThrowsArgument(
                () => defaultServices.Insert(typeof(IHttpActionInvoker), 0, new object()),
                "service",
                "The type Object must derive from IHttpActionInvoker.");
            Assert.ThrowsArgumentOutOfRange(
                () => defaultServices.Insert(typeof(ValueProviderFactory), -1, new Mock<ValueProviderFactory>().Object),
                "index",
                "Index must be within the bounds of the List.");
        }