/// <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); }
internal void Setup(Frame frame, IConfigUiServices configUiServices) { Frame = frame; UiServices = configUiServices; }
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; }