public void Validation_Cities_Fail_Set_Long_StringLength() { // Must first set non-null since setter is NOP if incoming value == existing value State state = new State() { Name = "WA", FullName = "Washington" }; ExceptionHelper.ExpectValidationException(delegate() { state.Name = "WASH"; // must be 2 letters -- [StringLength] validates that }, "The field Name must be a string with a maximum length of 2.", typeof(StringLengthAttribute), "WASH"); }
public void Validation_Cities_Fail_Set_Bad_RegExp() { // Must first set non-null since setter is NOP if incoming value == existing value State state = new State() { Name = "WA", FullName = "Washington" }; ExceptionHelper.ExpectValidationException(delegate() { state.Name = "wa"; }, "The field Name must match the regular expression '^[A-Z]*'.", typeof(RegularExpressionAttribute), "wa"); }
public void Validation_Cities_Fail_Set_Short_StringLength() { // Must first set non-null since setter is NOP if incoming value == existing value State state = new State() { Name = "WA", FullName = "Washington" }; ExceptionHelper.ExpectValidationException(delegate() { state.Name = "W"; // must be 2 letters -- custom validation exception checks that }, "The value for Name must have exactly 2 letters", typeof(CustomValidationAttribute), "W"); }
public void Validation_Cities_Fail_Set_Null_Required() { // Must first set non-null since setter is NOP if incoming value == existing value State state = new State() { Name = "WA", FullName = "Washington" }; ExceptionHelper.ExpectValidationException(delegate() { state.Name = null; }, "The Name field is required.", typeof(RequiredAttribute), null); }
public void Validation_Cities_Set_Invalid_Value_During_Deserialization() { State state = new State(); state.OnDeserializing(new System.Runtime.Serialization.StreamingContext()); state.Name = "bogus"; // would fail RegExp, StrLen, etc Assert.AreEqual("bogus", state.Name); // setter should have worked state.OnDeserialized(new System.Runtime.Serialization.StreamingContext()); }
public void Validation_Cities_Set_Null_Required_Passes_If_Already_Null() { State state = new State() { Name = null }; }
public void Validation_Cities_Ctor_State() { State state = new State() { Name = "WA", FullName = "Washington" }; Assert.AreEqual("WA", state.Name); Assert.AreEqual("Washington", state.FullName); }
public void Validation_Cities_Fail_Object_Null_Required() { // construct object with null Name -- this is invalid State state = new State() { FullName = "Washington" }; ExceptionHelper.ExpectValidationException(delegate() { ValidationContext context = new ValidationContext(state, null, null); Validator.ValidateObject(state, context); state.Name = null; }, "The Name field is required.", typeof(RequiredAttribute), null); }
public void Validation_Cities_Fail_Invalid_Value_After_Deserialization() { State state = new State(); state.OnDeserializing(new System.Runtime.Serialization.StreamingContext()); state.Name = "bogus"; // would fail RegExp, StrLen, etc Assert.AreEqual("bogus", state.Name); // setter should still have worked state.OnDeserialized(new System.Runtime.Serialization.StreamingContext()); // Now, outside of serialization, the same property should throw ExceptionHelper.ExpectValidationException(delegate() { state.Name = "WASH"; // must be 2 letters -- [StringLength] validates that }, "The field Name must be a string with a maximum length of 2.", typeof(StringLengthAttribute), "WASH"); }
public void UpdateState(State current) { State original = this.ChangeSet.GetOriginal(current); State state = _cityData.States.SingleOrDefault(p => p.Name == original.Name && p.FullName == original.FullName); state.FullName = current.FullName; state.Name = current.Name; state.TimeZone = current.TimeZone; }
private bool FilterState(State entity) { return (entity.Name == this.StateName); }