public void ReplaceRange_GuardClauses() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); // Act & assert Assert.ThrowsArgumentNull( () => defaultServices.ReplaceRange( serviceType: null, services: new[] { new object() } ), "serviceType" ); Assert.ThrowsArgumentNull( () => defaultServices.ReplaceRange(typeof(object), services: null), "services" ); Assert.ThrowsArgument( () => defaultServices.ReplaceRange(typeof(object), new[] { new object() }), "serviceType", "The service type Object is not supported." ); Assert.ThrowsArgument( () => defaultServices.ReplaceRange( typeof(ValueProviderFactory), new[] { new object() } ), "services", "The type Object must derive from ValueProviderFactory." ); }
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 ReplaceRange_ReplacesAllValuesWithTheGivenServices() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock <IFilterProvider>().Object; var filterProvider2 = new Mock <IFilterProvider>().Object; // Act defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Assert Assert.Equal(new[] { filterProvider1, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider))); }
public void RemoteAt_RemovesService() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock <IFilterProvider>().Object; var filterProvider2 = new Mock <IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.RemoveAt(typeof(IFilterProvider), 1); // Assert Assert.Equal(new[] { filterProvider1 }, defaultServices.GetServices(typeof(IFilterProvider))); }
public void RemoveAll_SuccessfulMatch() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock <IFilterProvider>().Object; var filterProvider2 = new Mock <IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.RemoveAll(typeof(IFilterProvider), _ => true); // Assert Assert.Empty(defaultServices.GetServices(typeof(IFilterProvider))); }
public void Remove_ObjectNotFound() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock <IFilterProvider>().Object; var filterProvider2 = new Mock <IFilterProvider>().Object; var notPresentFilterProvider = new Mock <IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.Remove(typeof(IFilterProvider), notPresentFilterProvider); // Assert Assert.Equal(new[] { filterProvider1, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider))); }
public void ReplaceRange_ReplacesAllValuesWithTheGivenServices() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock<IFilterProvider>().Object; var filterProvider2 = new Mock<IFilterProvider>().Object; // Act defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Assert Assert.Equal(new[] { filterProvider1, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider))); }
public void ReplaceRange_GuardClauses() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); // Act & assert Assert.ThrowsArgumentNull(() => defaultServices.ReplaceRange(serviceType: null, services: new[] { new object() }), "serviceType"); Assert.ThrowsArgumentNull(() => defaultServices.ReplaceRange(typeof(object), services: null), "services"); Assert.ThrowsArgument( () => defaultServices.ReplaceRange(typeof(object), new[] { new object() }), "serviceType", "The service type Object is not supported."); Assert.ThrowsArgument( () => defaultServices.ReplaceRange(typeof(ValueProviderFactory), new[] { new object() }), "services", "The type Object must derive from ValueProviderFactory."); }
public void RemoteAt_RemovesService() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock<IFilterProvider>().Object; var filterProvider2 = new Mock<IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.RemoveAt(typeof(IFilterProvider), 1); // Assert Assert.Equal(new[] { filterProvider1 }, defaultServices.GetServices(typeof(IFilterProvider))); }
public void RemoveAll_SuccessfulMatch() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock<IFilterProvider>().Object; var filterProvider2 = new Mock<IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.RemoveAll(typeof(IFilterProvider), _ => true); // Assert Assert.Empty(defaultServices.GetServices(typeof(IFilterProvider))); }
public void Remove_ObjectNotFound() { // Arrange var config = new HttpConfiguration(); var defaultServices = new DefaultServices(config); var filterProvider1 = new Mock<IFilterProvider>().Object; var filterProvider2 = new Mock<IFilterProvider>().Object; var notPresentFilterProvider = new Mock<IFilterProvider>().Object; defaultServices.ReplaceRange(typeof(IFilterProvider), new[] { filterProvider1, filterProvider2 }); // Act defaultServices.Remove(typeof(IFilterProvider), notPresentFilterProvider); // Assert Assert.Equal(new[] { filterProvider1, filterProvider2 }, defaultServices.GetServices(typeof(IFilterProvider))); }
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))); }