public void ShouldRegisterViewsWhenInitialized()
        {
            // Given

            var regionViewRegistry = new Mock <IRegionViewRegistry>();
            var container          = new Mock <IUnityContainer>();
            var module             = new ImageProcessingCustomizationModule(regionViewRegistry.Object, container.Object);

            // When

            module.Initialize();

            // Then

            regionViewRegistry.VerifyViewWasRegisteredWithRegion(ApplicationRegion.ContentRegion.ToString(), Times.Once());
            regionViewRegistry.VerifyViewWasRegisteredWithRegion(ImageProcessingCustomizationViewRegions.ImageProcessingChainElementCustomizationRegion.ToString(),
                                                                 Times.AtLeastOnce());
        }
        public void ShouldRegisterDependenciesWhenCreated()
        {
            // Given

            var regionViewRegistry = new Mock <IRegionViewRegistry>();
            var container          = new Mock <IUnityContainer>();

            // When

            var module = new ImageProcessingCustomizationModule(regionViewRegistry.Object, container.Object);

            // Then

            container.VerifyInstanceRegistered <IProcessingChainBuilderDataStore>(Times.Once());
            container.VerifyTypeRegistered <IImageProcessingChainElementViewLocator>(Times.Once());
            container.VerifyTypeRegistered <IChangeProcessingChainElementCustomizationRegionViewCommand>(Times.Once());
            container.VerifyTypeRegistered <IProcessingChainDragHandler>(Times.Once());
            container.VerifyTypeRegistered <IProcessingChainDropHandler>(Times.Once());
            container.VerifyTypeRegistered <IProcessingChainCustomizationViewModel>(Times.Once());
            container.VerifyTypeRegistered <ITwoPointNonUniformityCorrectionCustomizationViewModel>(Times.Once());
        }