public void CanRegisterVisualizationForInterface()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            registry.Register<IMockViewModel, MockView>();

            var visualization = registry.CreateVisualization(new MockViewModel()) as ModelVisualizer;
            Assert.IsNotNull(visualization);
            Assert.IsInstanceOfType(visualization.View, typeof(MockView));
        }
        public void CanAddRegistration()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(null);

            registry.Register<MockViewModel, MockView>();

            Assert.IsNotNull(registry.ModelVisualizations.FirstOrDefault(
                (registration) => registration.ModelType == typeof(MockViewModel) 
                                    && registration.ViewType == typeof(MockView)));
        }
        public void WontCreateVisualizationModelForFrameworkElements()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            var mockView      = new MockView();
            var visualization = registry.CreateVisualization(mockView);

            Assert.IsNotNull(visualization);
            Assert.AreSame(visualization, mockView);
        }
        public void CanAddRegistration()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(null);

            registry.Register <MockViewModel, MockView>();

            Assert.IsNotNull(registry.ModelVisualizations.FirstOrDefault(
                                 (registration) => registration.ModelType == typeof(MockViewModel) &&
                                 registration.ViewType == typeof(MockView)));
        }
        public void WontCreateVisualizationModelForFrameworkElements()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            var mockView = new MockView();
            var visualization = registry.CreateVisualization(mockView);

            Assert.IsNotNull(visualization);
            Assert.AreSame(visualization, mockView);

        }
        public void CanRegisterVisualizationForInterface()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            registry.Register <IMockViewModel, MockView>();

            var visualization = registry.CreateVisualization(new MockViewModel()) as ModelVisualizer;

            Assert.IsNotNull(visualization);
            Assert.IsInstanceOfType(visualization.View, typeof(MockView));
        }
        public void CanCreateVisualizationForModel()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            registry.Register<MockViewModel, MockView>();

            var mockViewModel = new MockViewModel();
            var visualization = registry.CreateVisualization(mockViewModel) as ModelVisualizer;

            Assert.IsNotNull(visualization);
            Assert.IsNotNull(visualization.View);
            Assert.IsNotNull(visualization.ViewModel);
            Assert.IsInstanceOfType(visualization.View, typeof(MockView));
            Assert.AreSame(visualization.ViewModel, mockViewModel);
        }
        public void CanCreateVisualizationForModel()
        {
            ModelVisualizationRegistry registry = new ModelVisualizationRegistry(new UnityContainer());

            registry.Register <MockViewModel, MockView>();

            var mockViewModel = new MockViewModel();
            var visualization = registry.CreateVisualization(mockViewModel) as ModelVisualizer;

            Assert.IsNotNull(visualization);
            Assert.IsNotNull(visualization.View);
            Assert.IsNotNull(visualization.ViewModel);
            Assert.IsInstanceOfType(visualization.View, typeof(MockView));
            Assert.AreSame(visualization.ViewModel, mockViewModel);
        }