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() ); }
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)); }