public void ChildType4_Collection_ReadOnlyCollection_ReadOnlyCollection() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.ReadOnlyCollection, CslaObjectType.ReadOnlyCollection)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); //Assert.AreEqual("The child or ItemType is 'ReadOnlyCollection' but should be 'ReadOnlyObject'.", RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { _editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (_editorService != null) { if (context.Instance != null) { // CR modifying to accomodate PropertyBag Type instanceType = null; object objinfo = null; ContextHelper.GetContextInstanceObject(context, ref objinfo, ref instanceType); var obj = (CslaObjectInfo)objinfo; _lstProperties.Items.Clear(); _lstProperties.Items.Add("(None)"); foreach (var o in GeneratorController.Current.CurrentUnit.CslaObjects) { if (o.ObjectName != obj.ObjectName) { if (RelationRulesEngine.IsChildAllowed(obj.ObjectType, o.ObjectType)) { _lstProperties.Items.Add(o.ObjectName); } } } _lstProperties.Sorted = true; if (_lstProperties.Items.Contains(obj.ItemType)) { _lstProperties.SelectedItem = obj.ItemType; } else { _lstProperties.SelectedItem = "(None)"; } _editorService.DropDownControl(_lstProperties); if (_lstProperties.SelectedIndex < 0 || _lstProperties.SelectedItem.ToString() == "(None)") { return(string.Empty); } return(_lstProperties.SelectedItem.ToString()); } } return(value); }
public void ChildType4_Collection_ReadOnlyCollection_DynamicEditableRootCollection() { Assert.False(RelationRulesEngine.IsChildAllowed(CslaObjectType.ReadOnlyCollection, CslaObjectType.DynamicEditableRootCollection)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual("\r\nRelation rule: Specific rule; see below * * *\r\nThe child or ItemType is 'DynamicEditableRootCollection' but should be 'EditableChild' or 'EditableSwitchable' or 'DynamicEditableRoot' or 'ReadOnlyObject' or 'EditableChildCollection' or 'ReadOnlyCollection'.", RelationRulesEngine.BrokenRuleMsg); }
public void ChildType4_Object_ReadOnlyCollection_ReadOnlyObject() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.ReadOnlyCollection, CslaObjectType.ReadOnlyObject)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public void ChildType3_Collection_ReadOnlyObject_DynamicEditableRootCollection() { Assert.False(RelationRulesEngine.IsChildAllowed(CslaObjectType.ReadOnlyObject, CslaObjectType.DynamicEditableRootCollection)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual("\r\nRelation rule: The child of a ReadOnly object must be ReadOnly (object or collection). * * *\r\nThe child or ItemType is 'DynamicEditableRootCollection' but should be 'ReadOnlyObject' or 'ReadOnlyCollection'.", RelationRulesEngine.BrokenRuleMsg); }
public void ChildType1_Object_EditableChild_EditableChild() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.EditableChild, CslaObjectType.EditableChild)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public void ChildType1_Collection_EditableRoot_EditableRootCollection() { Assert.False(RelationRulesEngine.IsChildAllowed(CslaObjectType.EditableRoot, CslaObjectType.EditableRootCollection)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual("\r\nRelation rule: The child of an Editable object must be Editable (object or collection). * * *\r\nThe child or ItemType is 'EditableRootCollection' but should be 'EditableChild' or 'EditableSwitchable' or 'ReadOnlyObject' or 'EditableChildCollection' or 'ReadOnlyCollection'.", RelationRulesEngine.BrokenRuleMsg); }
public void ChildType1_Collection_EditableRoot_ReadOnlyCollection() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.EditableRoot, CslaObjectType.ReadOnlyCollection)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public void ChildType1_Object_DynamicEditableRoot_ReadOnlyObject() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.DynamicEditableRoot, CslaObjectType.ReadOnlyObject)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public void ChildType5_Object_DynamicEditableRootCollection_EditableSwitchable() { Assert.False(RelationRulesEngine.IsChildAllowed(CslaObjectType.DynamicEditableRootCollection, CslaObjectType.EditableSwitchable)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual("\r\nRelation rule: Specific rule; see below * * *\r\nThe child or ItemType is 'EditableSwitchable' but should be 'DynamicEditableRoot'.", RelationRulesEngine.BrokenRuleMsg); }
public void ChildType5_Object_DynamicEditableRootCollection_DynamicEditableRoot() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.DynamicEditableRootCollection, CslaObjectType.DynamicEditableRoot)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }
public void ChildType2_Collection_EditableRootCollection_DynamicEditableRootCollection() { Assert.False(RelationRulesEngine.IsChildAllowed(CslaObjectType.EditableRootCollection, CslaObjectType.DynamicEditableRootCollection)); //Console.WriteLine(RelationRulesEngine.BrokenRuleMsg); Assert.AreEqual("\r\nRelation rule: The item of an Editable collection must be an Editable object. * * *\r\nThe child or ItemType is 'DynamicEditableRootCollection' but should be 'EditableChild' or 'EditableSwitchable'.", RelationRulesEngine.BrokenRuleMsg); }
public void ChildType2_Object_EditableRootCollection_EditableSwitchable() { Assert.True(RelationRulesEngine.IsChildAllowed(CslaObjectType.EditableRootCollection, CslaObjectType.EditableSwitchable)); Assert.AreEqual(string.Empty, RelationRulesEngine.BrokenRuleMsg); }