public void RangeAttribute_Fail_Constructor_ArbitraryType_NotComparableType() { var attr = new RangeAttribute(typeof(RangeAttributeTest), "1", "10"); ExceptionHelper.ExpectException<InvalidOperationException>(delegate() { attr.IsValid(2); }, String.Format(CultureInfo.CurrentCulture, Resources.DataAnnotationsResources.RangeAttribute_ArbitraryTypeNotIComparable, typeof(RangeAttributeTest).FullName, typeof(System.IComparable).FullName)); }
public void RangeAttribute_Constructor_Double_MinGreaterThanMax() { var attr = new RangeAttribute(1000000000.5, 10.5); ExceptionHelper.ExpectException<InvalidOperationException>(delegate() { attr.IsValid(10.0); }, String.Format(CultureInfo.CurrentCulture, Resources.DataAnnotationsResources.RangeAttribute_MinGreaterThanMax, 10.5, 1000000000.5)); }
public void RangeAttribute_Fail_Constructor_ArbitraryType_NullParameter() { var attr = new RangeAttribute(null, "1", "10"); ExceptionHelper.ExpectException<InvalidOperationException>(delegate() { attr.IsValid(2); }, Resources.DataAnnotationsResources.RangeAttribute_Must_Set_Operand_Type); }
private void AssertAreFalse(RangeAttribute range, params object[] values) { foreach (var v in values) { Assert.IsFalse(range.IsValid(v), "value = " + v); } }
public void RangeAttribute_Fail_String_Min_Exceed_Max() { var attr = new RangeAttribute(typeof(float), Convert.ToString(3.0), Convert.ToString(1.0)); ExceptionHelper.ExpectException<InvalidOperationException>(delegate() { attr.IsValid(2.0f); }, String.Format(CultureInfo.CurrentCulture, Resources.DataAnnotationsResources.RangeAttribute_MinGreaterThanMax, 1, 3)); }
public void RangeAttribute_Fail_Int32_Min_Exceed_Max() { var attr = new RangeAttribute(3, 1); ExceptionHelper.ExpectException<InvalidOperationException>(delegate() { attr.IsValid(2); }, String.Format(CultureInfo.CurrentCulture, Resources.DataAnnotationsResources.RangeAttribute_MinGreaterThanMax, 1, 3)); }
public void RangeAttribute_IsValid_ArbitraryType_Cannot_Convert() { RangeAttribute attr = new RangeAttribute(typeof(DateTime), DateTime.Now.AddDays(-3).ToLongDateString(), DateTime.Now.AddDays(3).ToLongDateString()); Assert.IsFalse(attr.IsValid("xxxx")); // format error is invalid, not an exception Assert.IsFalse(attr.IsValid("2.0")); // string which is valid double but not valid DateTime Assert.IsFalse(attr.IsValid(2.0)); // wrong type is invalid, not an exception }