/// <summary>
        /// Create mocked view-model
        /// </summary>
        /// <param name="frame"></param>
        /// <param name="behavior">behavior of the mock</param>
        /// <param name="modelOptions"></param>
        /// <param name="configUiServices"></param>
        /// <returns></returns>
        protected virtual TViewModel CreateMockedViewModel(Frame frame, MockBehavior behavior = MockBehavior.Default, IModelOptions modelOptions = null, IConfigUiServices configUiServices = null)
        {
            var mockViewModel = new Mock <TViewModel>(behavior);

            SetupMock(mockViewModel);

            var viewModel = ViewModelBase.CreateViewModel <PrivateViewModel>(frame, modelOptions, configUiServices);

            var filter = BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic;

            typeof(ViewModelBase).GetProperty(nameof(ViewModelBase.NavigationManager), filter)
            .SetValue(mockViewModel.Object, viewModel.NavigationManager);
            typeof(ViewModelBase).GetProperty(nameof(ViewModelBase.UiServices), filter)
            .SetValue(mockViewModel.Object, viewModel.UiServices);
            mockViewModel.Object.ModelOptions = viewModel.ModelOptions;

            return(mockViewModel.Object);
        }
Beispiel #2
0
 internal void Setup(Frame frame, IConfigUiServices configUiServices)
 {
     Frame      = frame;
     UiServices = configUiServices;
 }
Beispiel #3
0
 internal static void BindModelStatic <TModel>(TModel model, IAbstractFactory factory, IModelOptions options, IConfigUiServices uiServices)
     where TModel : ModelBase
 {
     model.Factory      = factory;
     model.ModelOptions = options;
     model.UiServices   = uiServices;
 }