public void Modify_CallTwoTimes_Succeeds()
        {
            TestVMDescriptor descriptor = new TestVMDescriptor();

            descriptor.Modify();
            descriptor.Modify();
        }
        public void Properties_Get_SealsDescriptor()
        {
            TestVMDescriptor descriptor = new TestVMDescriptor();
            var properties = descriptor.Properties;

            Assert.IsTrue(descriptor.IsSealed);
        }
        public void Properties_Get_ReturnsDiscoveredProperties()
        {
            var propertiesToReturn = new VMPropertyCollection(new IVMPropertyDescriptor[0]);
            var descriptor         = new TestVMDescriptor(propertiesToReturn);

            var returnedProperties = descriptor.Properties;

            Assert.AreSame(propertiesToReturn, returnedProperties);
        }
        public void Modify_CallOnSealedInstance_ThrowsException()
        {
            TestVMDescriptor descriptor = new TestVMDescriptor();

            descriptor.Seal();

            AssertHelper.Throws <InvalidOperationException>(
                () => descriptor.Modify()
                );
        }
Exemplo n.º 5
0
        public void RequiresLoadedPropertyFalse_DisablesLoadOrderDependency()
        {
            TestVMDescriptor descriptorWithoutDependency = VMDescriptorBuilder
                                                           .Inherits(TestVM.ClassDescriptor)
                                                           .OfType <TestVMDescriptor>()
                                                           .For <TestVM>()
                                                           .WithProperties((d, b) => { })
                                                           .WithBehaviors(b => {
                b.Property(x => x.SourceProperty).RequiresLoadedProperty(x => x.CollectionRequiredBySourceProperty, false);
            })
                                                           .Build();

            var vm = new TestVM(descriptorWithoutDependency);

            vm.Load(x => x.SourceProperty);
            Assert.IsFalse(vm.IsLoaded(x => x.CollectionRequiredBySourceProperty));
        }