public void TestSerializationForPropetyContraints() { OrmPropertyConstraints constraints = new OrmPropertyConstraints(); SetPropertyConstraintsValues(constraints); var cloned = constraints.CloneBySerialization(); Assert.IsNotNull(cloned); }
public void Test_OrmFieldAttribute_Constraints() { OrmPropertyConstraints constraints = new OrmPropertyConstraints(); foreach (var constraint in constraints.AllConstraints) { constraint.Used = true; constraint.Mode = PropertyConstrainMode.OnSetValue; constraint.ErrorMessage = string.Format("error for {0}", constraint.ConstrainType); } var lengthConstraint = constraints.LengthConstraint; lengthConstraint.Min.SetAsDefault(); lengthConstraint.Max.SetAsCustom(10); var rangeConstraint = constraints.RangeConstraint; rangeConstraint.Min.Enabled = true; rangeConstraint.Min.Value.Value = 120; rangeConstraint.Max.Enabled = false; var regexConstraint = constraints.RegexConstraint; regexConstraint.Pattern = "1234@11"; regexConstraint.Options = RegexOptions.ECMAScript | RegexOptions.IgnoreCase | RegexOptions.Singleline; OrmPropertyConstraints cloned = constraints.Clone(); Assert.IsNotNull(cloned); //var targetAttribute = CreateOrmFieldAttribute(TestAttributeValuesType.Values2); //TestMergeChangesForOrmAttribute(originalAttribute, targetAttribute); // OrmFieldAttribute clonedAttribute = null; // // Action cloneAttribute = () => clonedAttribute = originalAttribute.Clone(); // cloneAttribute(); // Assert.IsTrue(originalAttribute.EqualsTo(clonedAttribute)); //Action testClonedNotEquals = () => Assert.IsFalse(originalAttribute.EqualsTo(clonedAttribute)); }
private static void SetPropertyConstraintsValues(OrmPropertyConstraints constraints) { foreach (var constraint in constraints.AllConstraints) { constraint.Used = true; constraint.Mode = PropertyConstrainMode.OnSetValue; constraint.ErrorMessage = string.Format("error for {0}", constraint.ConstrainType); } var lengthConstraint = constraints.LengthConstraint; lengthConstraint.Min.SetAsDefault(); lengthConstraint.Max.SetAsCustom(10); var rangeConstraint = constraints.RangeConstraint; rangeConstraint.Min.Enabled = true; rangeConstraint.Min.Value.Value = 120; rangeConstraint.Max.Enabled = false; var regexConstraint = constraints.RegexConstraint; regexConstraint.Pattern = "1234@11"; regexConstraint.Options = RegexOptions.ECMAScript | RegexOptions.IgnoreCase | RegexOptions.Singleline; }
private static void CustomReadPropertiesFromElements(SerializationContext serializationContext, PropertyBase element, XmlReader reader) { while (!serializationContext.Result.Failed && !reader.EOF && reader.NodeType == global::System.Xml.XmlNodeType.Element) { switch (reader.LocalName) { case "field": // field { if (reader.IsEmptyElement) { // No serialized value, must be default one. SerializationUtilities.Skip(reader); // Skip this tag. } else { OrmFieldAttribute fieldAttribute = new OrmFieldAttribute(); fieldAttribute.DeserializeFromXml(reader); element.FieldAttribute = fieldAttribute; SerializationUtilities.SkipToNextElement(reader); reader.SkipToNextElementFix(); } break; } case "constraints": // field { if (reader.IsEmptyElement) { // No serialized value, must be default one. SerializationUtilities.Skip(reader); // Skip this tag. } else { OrmPropertyConstraints constraints = new OrmPropertyConstraints(); constraints.DeserializeFromXml(reader); element.Constraints = constraints; SerializationUtilities.SkipToNextElement(reader); reader.SkipToNextElementFix(); } break; } case "dataMember": // field { if (reader.IsEmptyElement) { // No serialized value, must be default one. SerializationUtilities.Skip(reader); // Skip this tag. } else { DataMemberDescriptor dataMemberDescriptor = new DataMemberDescriptor(); dataMemberDescriptor.DeserializeFromXml(reader); element.DataMember = dataMemberDescriptor; SerializationUtilities.SkipToNextElement(reader); reader.SkipToNextElementFix(); } break; } case "propertyAccess": // field { if (reader.IsEmptyElement) { // No serialized value, must be default one. SerializationUtilities.Skip(reader); // Skip this tag. } else { PropertyAccessModifiers modifiers = new PropertyAccessModifiers(); modifiers.DeserializeFromXml(reader, "propertyAccess"); element.PropertyAccess = modifiers; SerializationUtilities.SkipToNextElement(reader); reader.SkipToNextElementFix(); } break; } default: return; // Don't know this element. } } }