Example #1
0
            public ViewModelBehaviorContextHelper()
            {
                //var fields = new FieldDefinitionCollection();

                var descriptor = new DescriptorStub();

                InitializationContext = new BehaviorInitializationContext(descriptor); // Is this correct?

                //var fieldValues = new Lazy<FieldValueHolder>(() =>
                //   fields.CreateValueHolder()
                //);

                VM = new ViewModelStub(descriptor);

                IBehaviorContext ctx = VM.Kernel;

                ContextMock = new Mock <IBehaviorContext>();
                ContextMock
                .Setup(x => x.FieldValues)
                .Returns(ctx.FieldValues);

                ContextMock
                .Setup(x => x.VM)
                .Returns(VM);

                Context = ContextMock.Object;
            }
        public void SetItems_ListChangedIsRaisedAfterBehaviors()
        {
            var actionLog = new StringBuilder();

            var changeListener = new TestChangeListener();

            var ownerProperty = PropertyStub
                                .WithBehaviors(changeListener)
                                .Build();

            var ownerVM = ViewModelStub
                          .WithProperties(ownerProperty)
                          .Build();

            var collection = new VMCollection <IViewModel>(ownerVM, ownerProperty);

            changeListener.HandleChange += delegate {
                actionLog.Append("ChangeHandlerBehavior ");
            };

            collection.ListChanged += delegate {
                actionLog.Append("ListChanged ");
            };

            IVMCollection <IViewModel> c = collection;

            c.ReplaceItems(new[] { ViewModelStub.Build(), ViewModelStub.Build() }, null);

            Assert.AreEqual("ChangeHandlerBehavior ListChanged ", actionLog.ToString());
        }
Example #3
0
        public void NotifyChange_WithPropertyChangeForDescendantViewModel_DoesNothing()
        {
            VMInterface.NotifyChange(ChangeArgs
                                     .ValidationResultChanged()
                                     .PrependViewModel(ViewModelStub.Build())
                                     .PrependViewModel(VM)
                                     );

            Assert.IsNull(VM.LastOnPropertyChangedInvocation);
            Assert.IsNull(VM.LastOnValidationStateChangedInvocation);
        }
        public void GetItemProperties_ReturnsPropertyDescriptorCollection()
        {
            var itemTypeDescriptorBehavior = new TypeDescriptorProviderBehavior();

            var itemDescriptor = DescriptorStub
                                 .WithBehaviors(itemTypeDescriptorBehavior)
                                 .Build();

            var ownerProperty = PropertyStub
                                .WithBehaviors(new ItemDescriptorProviderBehavior(itemDescriptor))
                                .Build();

            var ownerVM = ViewModelStub
                          .WithProperties(ownerProperty)
                          .Build();

            var collection = new VMCollection <IViewModel>(ViewModelStub.Build(), ownerProperty);

            Assert.AreSame(itemTypeDescriptorBehavior.PropertyDescriptors, collection.GetItemProperties(null));
        }
 public VMCollectionStubBuilder()
 {
     _ownerVM       = ViewModelStub.Build();
     _ownerProperty = PropertyStub.Build();
     _items         = Enumerable.Empty <T>();
 }
 private VMCollection <IViewModel> CreateCollection()
 {
     return(new VMCollection <IViewModel>(ViewModelStub.Build(), PropertyStub.Build()));
 }
Example #7
0
 public BehaviorContextStub GetContext()
 {
     return(ViewModelStub
            .WithProperties(Build())
            .BuildContext());
 }
 public BehaviorContextStub(IViewModel viewModel = null)
 {
     viewModel = viewModel ?? ViewModelStub.Build();
     _inner    = viewModel.GetContext();
     NotifyChangeInvocations = new List <ChangeArgs>();
 }