Skip to content

Commit

Permalink
fix moq resolution with DryIocContainerExtension
Browse files Browse the repository at this point in the history
  • Loading branch information
dansiegel committed Aug 24, 2020
1 parent 88b90b9 commit 44de606
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/Wpf/Prism.Wpf/PrismInitializationExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ internal static void RegisterDefaultRegionAdapterMappings(this RegionAdapterMapp
internal static void RunModuleManager(IContainerProvider containerProvider)
{
IModuleManager manager = containerProvider.Resolve<IModuleManager>();
manager?.Run();
manager.Run();
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
using System;
using System;
using DryIoc;
using Moq;
using Prism.Container.Wpf.Mocks;
using Prism.DryIoc;
using Prism.Events;
using Prism.Ioc;
using Prism.Modularity;
using Prism.Regions;
using Prism.DryIoc;
using Xunit;
using DryIoc;
using System.Windows.Documents;

namespace Prism.Container.Wpf.Tests.Bootstrapper
{
Expand Down Expand Up @@ -143,25 +142,26 @@ private static void SetupMockedContainerForVerificationTests(Mock<IContainer> mo

mockedContainer.Setup(c => c.Register(It.IsAny<Factory>(), It.IsAny<Type>(), It.IsAny<string>(), It.IsAny<IfAlreadyRegistered?>(), It.IsAny<bool>()));

mockedContainer.Setup(c => c.Resolve(typeof(IModuleCatalog), IfUnresolved.Throw)).Returns(
// NOTE: The actual method called by Prism's DryIocContainerExtension is off over the IResolver not IContainer
mockedContainer.As<IResolver>().Setup(r => r.Resolve(typeof(IModuleCatalog), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
new ModuleCatalog());

mockedContainer.Setup(c => c.Resolve(typeof(IModuleInitializer), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(IModuleInitializer), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
mockedModuleInitializer.Object);

mockedContainer.Setup(c => c.Resolve(typeof(IModuleManager), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(IModuleManager), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
mockedModuleManager.Object);

mockedContainer.Setup(c => c.Resolve(typeof(RegionAdapterMappings), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(RegionAdapterMappings), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
regionAdapterMappings);

mockedContainer.Setup(c => c.Resolve(typeof(SelectorRegionAdapter), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(SelectorRegionAdapter), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
new SelectorRegionAdapter(regionBehaviorFactory));

mockedContainer.Setup(c => c.Resolve(typeof(ItemsControlRegionAdapter), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(ItemsControlRegionAdapter), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
new ItemsControlRegionAdapter(regionBehaviorFactory));

mockedContainer.Setup(c => c.Resolve(typeof(ContentControlRegionAdapter), IfUnresolved.Throw)).Returns(
mockedContainer.As<IResolver>().Setup(c => c.Resolve(typeof(ContentControlRegionAdapter), It.IsAny<object>(), IfUnresolved.Throw, It.IsAny<Type>(), It.IsAny<Request>(), It.IsAny<object[]>())).Returns(
new ContentControlRegionAdapter(regionBehaviorFactory));
}
}
Expand Down

0 comments on commit 44de606

Please sign in to comment.