public ViewModelWiring(ViewModel viewModel, PropertyResolverRepository propertyResolverRepository) { this.viewModel = viewModel; this.propertyResolverRepository = propertyResolverRepository; fields = this.viewModel.GetType() .GetFields() .ToDictionary(field => field.Name); }
public void Setup() { propertyResolverRepository = Substitute.For <PropertyResolverRepository>(); viewModel = SomeViewModel(propertyResolverRepository); somePropertyResolver = Substitute.For <PropertyResolver>(); viewModelWiring = new ViewModelWiring(viewModel, propertyResolverRepository); somePropertyResolver.SubscribeProperty(Arg.Any <FieldInfo>(), Arg.Any <object>(), Arg.Any <Action <string, object> >()).Returns(Disposable.Empty); }
public ViewModel(PropertyResolverRepository propertyResolverRepository) { onPropertyChanged = new Subject <PropertyChanged>(); viewModelWiring = new ViewModelWiring(this, propertyResolverRepository); viewModelWiring .Wire(NotifyPropertyChange) .ForEach(wireField => disposables.Add(wireField.Subscription)); }
public static ViewModel SomeViewModel(PropertyResolverRepository propertyResolverRepository) { return(new SomeViewModel(propertyResolverRepository)); }
public SomeViewModel(PropertyResolverRepository propertyResolverRepository) : base(propertyResolverRepository) { }