init
This commit is contained in:
111
GLM5Analysis/TestScaffolds/ModuleTestScaffold.cs
Normal file
111
GLM5Analysis/TestScaffolds/ModuleTestScaffold.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using NUnit.Framework;
|
||||
using NSubstitute;
|
||||
using Prism.Modularity;
|
||||
using Prism.Ioc;
|
||||
using Unity;
|
||||
|
||||
namespace YourNamespace.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
public class ModuleShould
|
||||
{
|
||||
private IUnityContainer _unityContainer;
|
||||
private IContainerRegistry _containerRegistry;
|
||||
private IContainerProvider _containerProvider;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_unityContainer = Substitute.For<IUnityContainer>();
|
||||
_containerRegistry = Substitute.For<IContainerRegistry>();
|
||||
_containerProvider = Substitute.For<IContainerProvider>();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RegisterTypes_WhenRegisterTypesIsCalled()
|
||||
{
|
||||
var sut = CreateSut();
|
||||
|
||||
sut.RegisterTypes(_containerRegistry);
|
||||
|
||||
_containerRegistry.Received().Register(Arg.Any<Func<object>>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Initialize_WhenInitializeIsCalled()
|
||||
{
|
||||
var sut = CreateSut();
|
||||
|
||||
sut.Initialize();
|
||||
|
||||
_unityContainer.Received().RegisterType(Arg.Any<System.Type>(), Arg.Any<System.Type>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RegisterViewAndViewModel_AsSingletons()
|
||||
{
|
||||
var sut = CreateSut();
|
||||
|
||||
sut.Initialize();
|
||||
|
||||
_unityContainer.Received().RegisterType<ITestView, TestView>();
|
||||
_unityContainer.Received().RegisterType<ITestViewModel, TestViewModel>();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void OnInitialized_DoesNotThrow()
|
||||
{
|
||||
var sut = CreateSut();
|
||||
|
||||
Assert.DoesNotThrow(() => sut.OnInitialized(_containerProvider));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ImplementIModuleInterface()
|
||||
{
|
||||
var sut = CreateSut();
|
||||
|
||||
Assert.That(sut, Is.InstanceOf<IModule>());
|
||||
}
|
||||
|
||||
private TestModule CreateSut()
|
||||
{
|
||||
return new TestModule(_unityContainer);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class TestModule : IModule
|
||||
{
|
||||
private readonly IUnityContainer _unityContainer;
|
||||
|
||||
public TestModule(IUnityContainer unityContainer)
|
||||
{
|
||||
_unityContainer = unityContainer;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_unityContainer.RegisterType<ITestView, TestView>();
|
||||
_unityContainer.RegisterType<ITestViewModel, TestViewModel>();
|
||||
}
|
||||
|
||||
public void OnInitialized(IContainerProvider containerProvider)
|
||||
{
|
||||
}
|
||||
|
||||
public void RegisterTypes(IContainerRegistry containerRegistry)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
}
|
||||
|
||||
public interface ITestView { }
|
||||
public class TestView : ITestView { }
|
||||
public interface ITestViewModel { }
|
||||
public class TestViewModel : ITestViewModel { }
|
||||
}
|
||||
Reference in New Issue
Block a user