public ManageWcfSourceViewModel GetModel()
        {
            var sourceModel = new WcfServiceSourceDefinition()
            {
                Id          = Guid.NewGuid(),
                Name        = "TestWcf",
                EndpointUrl = "http/test/com"
            };

            var updateManager = new Mock <IWcfSourceModel>();

            updateManager.Setup(model => model.ServerName).Returns("Test");
            updateManager.Setup(model => model.FetchSource(It.IsAny <Guid>())).Returns(sourceModel);
            var asyncWorker = new Mock <IAsyncWorker>();

            asyncWorker.Setup(worker => worker.Start(It.IsAny <Func <IWcfServerSource> >(), It.IsAny <Action <IWcfServerSource> >()))
            .Callback <Func <IWcfServerSource>, Action <IWcfServerSource> >((func, action) =>
            {
                var wcfSource = func.Invoke();
                action(wcfSource);
            });
            var manageWcfSourceViewModel = new ManageWcfSourceViewModel(updateManager.Object, new Microsoft.Practices.Prism.PubSubEvents.EventAggregator(), sourceModel, asyncWorker.Object, new Mock <IServer>().Object);

            return(manageWcfSourceViewModel);
        }
        public static void SetupForSystem()
        {
            Utils.SetupResourceDictionary();
            var manageWcfSourceControl          = new ManageWcfSourceControl();
            var mockStudioUpdateManager         = new Mock <IWcfSourceModel>();
            var mockRequestServiceNameViewModel = new Mock <IRequestServiceNameViewModel>();
            var mockEventAggregator             = new Mock <IEventAggregator>();
            var mockExecutor = new Mock <IExternalProcessExecutor>();
            var task         = new Task <IRequestServiceNameViewModel>(() => mockRequestServiceNameViewModel.Object);

            task.Start();
            var manageWcfSourceViewModel = new ManageWcfSourceViewModel(mockStudioUpdateManager.Object, task, mockEventAggregator.Object, new SynchronousAsyncWorker(), new Mock <IServer>().Object);

            manageWcfSourceControl.DataContext = manageWcfSourceViewModel;
            Utils.ShowTheViewForTesting(manageWcfSourceControl);
            FeatureContext.Current.Add(Utils.ViewNameKey, manageWcfSourceControl);
            FeatureContext.Current.Add(Utils.ViewModelNameKey, manageWcfSourceViewModel);
            FeatureContext.Current.Add("updateManager", mockStudioUpdateManager);
            FeatureContext.Current.Add("requestServiceNameViewModel", mockRequestServiceNameViewModel);
            FeatureContext.Current.Add("externalProcessExecutor", mockExecutor);
        }