public void GetItemMetaWillBeCalledOnce() { this.itemRegistryMock.Setup(x => x.GetItemMeta()).Returns(new ItemMeta[0]); InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, this.itemRegistryMock.Object); this.itemRegistryMock.Verify(x => x.GetItemMeta(), Times.Once); }
public void AddItemTypesRegistersItemRegistry() { InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, this.itemRegistry); this.BuildServiceProvider(); this.serviceProvider.GetRequiredService <IItemRegistry>().Should().Be(this.itemRegistry); }
public void ReturningNullOnGetItemMetaWillThrowInvalidItemRegistryException() { this.itemRegistryMock .Setup(x => x.GetItemMeta()) .Returns <IEnumerable <ItemMeta> >(null); Action act = () => InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, this.itemRegistryMock.Object); act.Should().Throw <InvalidItemRegistryException>() .Where(x => x.Message.Contains("returns") && x.Message.Contains("null")); }
public void ReturningNullAsValueInItemRegistryShouldThrowException() { this.itemRegistryMock.Setup(x => x.GetItemMeta()).Returns(new ItemMeta[] { null }); Action act = () => InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, this.itemRegistryMock.Object); act.Should().Throw <InvalidItemRegistryException>() .Where(x => x.Message.Contains(nameof(IItemRegistry.GetItemMeta)) && x.Message.Contains("contains") && x.Message.Contains("null") && x.Message.Contains("value")); }
public void AddServicesExtensionRegistersNeededServices() { InventoryDependencyExtensions.AddDefaultInventoryServices(this.serviceCollection); this.AddItemRegistryMock(); this.BuildServiceProvider(); this.serviceProvider.GetRequiredService <IInventoryFactory>() .Should().BeOfType <InventoryFactory>(); this.serviceProvider.GetRequiredService <IItemFactory>() .Should().BeOfType <ItemFactory>(); }
public void RegisteredItemsInItemRegistryWillBeResolvable() { var meta = this.itemRegistry.CreateItemMetaForward <FakeItem>("item", "Fake Item"); this.SetupRegistryWithItems(meta); InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, this.itemRegistry); this.BuildServiceProvider(); var factory = this.serviceProvider.GetRequiredService(typeof(FakeItem)); factory.Should() .NotBeNull() .And.BeOfType <ObjectFactory>(); var resolvedItem = ((ObjectFactory)factory)(this.serviceProvider, new [] { meta }); resolvedItem.Should() .NotBeNull() .And.BeOfType <FakeItem>(); }
public void RunningAddServiceExtensionsOnNullThrowsArgumentNullException() { Action act = () => InventoryDependencyExtensions.AddDefaultInventoryServices(null); act.Should().Throw <ArgumentNullException>(); }
public void RunningAddDefaultItemFactoryOnNullThrowsException() { Action act = () => InventoryDependencyExtensions.AddDefaultItemFactory(null); act.Should().Throw <ArgumentNullException>(); }
public void AddingNullRegistryToServiceCollectionWillThrowException() { Action act = () => InventoryDependencyExtensions.AddItemTypes(this.serviceCollection, null); act.Should().Throw <ArgumentNullException>(); }
public void AddingItemRegistryOnNullServiceCollectionWillThrowException() { Action act = () => InventoryDependencyExtensions.AddItemTypes(null, this.itemRegistryMock.Object); act.Should().Throw <ArgumentNullException>(); }