Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added license & origin notice at top of fooproof MVC derived files. I…
…mport unit tests from foolproof MVC.
- Loading branch information
Showing
39 changed files
with
1,173 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
using System; | ||
using System.ComponentModel.DataAnnotations; | ||
|
||
using NUnit.Framework; | ||
|
||
namespace HermaFx.DataAnnotations | ||
{ | ||
[TestFixture] | ||
public class EqualToAttributeTest | ||
{ | ||
private class Model : ModelBase<EqualToAttribute> | ||
{ | ||
public string Value1 { get; set; } | ||
|
||
[EqualTo("Value1")] | ||
public string Value2 { get; set; } | ||
} | ||
|
||
private class ModelWithPassOnNull : ModelBase<EqualToAttribute> | ||
{ | ||
public string Value1 { get; set; } | ||
|
||
[EqualTo("Value1", PassOnNull = true)] | ||
public string Value2 { get; set; } | ||
} | ||
|
||
[Test] | ||
public void IsValid() | ||
{ | ||
var model = new Model() { Value1 = "hello", Value2 = "hello" }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsNotValid() | ||
{ | ||
var model = new Model() { Value1 = "hello", Value2 = "goodbye" }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsValidWithNulls() | ||
{ | ||
var model = new Model() { }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsNotValidWithValue1Null() | ||
{ | ||
var model = new Model() { Value2 = "hello" }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsNotValidWithValue2Null() | ||
{ | ||
var model = new Model() { Value1 = "hello" }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsValidWithValue1Null() | ||
{ | ||
var model = new ModelWithPassOnNull() { Value2 = "hello" }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void IsValidWithValue2Null() | ||
{ | ||
var model = new ModelWithPassOnNull() { Value1 = "hello" }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
using System; | ||
|
||
using NUnit.Framework; | ||
|
||
namespace HermaFx.DataAnnotations | ||
{ | ||
[TestFixture] | ||
public class GreaterThanAttributeTest | ||
{ | ||
private class DateModel : ModelBase<GreaterThanAttribute> | ||
{ | ||
public DateTime? Value1 { get; set; } | ||
|
||
[GreaterThan("Value1")] | ||
public DateTime? Value2 { get; set; } | ||
} | ||
|
||
private class DateModelWithPassOnNull : ModelBase<GreaterThanAttribute> | ||
{ | ||
public DateTime? Value1 { get; set; } | ||
|
||
[GreaterThan("Value1", PassOnNull = true)] | ||
public DateTime? Value2 { get; set; } | ||
} | ||
|
||
private class Int16Model : ModelBase<GreaterThanAttribute> | ||
{ | ||
public Int16 Value1 { get; set; } | ||
|
||
[GreaterThan("Value1")] | ||
public Int16 Value2 { get; set; } | ||
} | ||
|
||
[Test] | ||
public void DateIsValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now, Value2 = DateTime.Now.AddDays(1) }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateIsNotValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now, Value2 = DateTime.Now.AddDays(-1) }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithNullsIsNotValid() | ||
{ | ||
var model = new DateModel() { }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue1NullIsNotValid() | ||
{ | ||
var model = new DateModel() { Value2 = DateTime.Now }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue2NullIsNotValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue1NullIsValid() | ||
{ | ||
var model = new DateModelWithPassOnNull() { Value2 = DateTime.Now }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue2NullIsValid() | ||
{ | ||
var model = new DateModelWithPassOnNull() { Value1 = DateTime.Now }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void Int16IsValid() | ||
{ | ||
var model = new Int16Model() { Value1 = 12, Value2 = 120 }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void Int16IsNotValid() | ||
{ | ||
var model = new Int16Model() { Value1 = 120, Value2 = 12 }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
} | ||
} |
120 changes: 120 additions & 0 deletions
120
HermaFx.DataAnnotations.Tests/GreaterThanOrEqualToAttributeTest.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
using System; | ||
|
||
using NUnit.Framework; | ||
|
||
namespace HermaFx.DataAnnotations | ||
{ | ||
[TestFixture] | ||
public class GreaterThanOrEqualToAttributeTest | ||
{ | ||
private class DateModel : ModelBase<GreaterThanOrEqualToAttribute> | ||
{ | ||
public DateTime? Value1 { get; set; } | ||
|
||
[GreaterThanOrEqualTo("Value1")] | ||
public DateTime? Value2 { get; set; } | ||
} | ||
|
||
private class DateModelWithPassNull : ModelBase<GreaterThanOrEqualToAttribute> | ||
{ | ||
public DateTime? Value1 { get; set; } | ||
|
||
[GreaterThanOrEqualTo("Value1", PassOnNull = true)] | ||
public DateTime? Value2 { get; set; } | ||
} | ||
|
||
private class Int16Model : ModelBase<GreaterThanOrEqualToAttribute> | ||
{ | ||
public Int16 Value1 { get; set; } | ||
|
||
[GreaterThanOrEqualTo("Value1")] | ||
public Int16 Value2 { get; set; } | ||
} | ||
|
||
[Test] | ||
public void DateIsValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now, Value2 = DateTime.Now.AddDays(1) }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateEqualIsValid() | ||
{ | ||
var date = DateTime.Now; | ||
var model = new DateModel() { Value1 = date, Value2 = date }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateNullValuesIsValid() | ||
{ | ||
var date = DateTime.Now; | ||
var model = new DateModel() { }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateIsNotValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now, Value2 = DateTime.Now.AddDays(-1) }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithNullsIsValid() | ||
{ | ||
var model = new DateModel() { }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue1NullIsNotValid() | ||
{ | ||
var model = new DateModel() { Value2 = DateTime.Now }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue2NullIsNotValid() | ||
{ | ||
var model = new DateModel() { Value1 = DateTime.Now }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue1NullIsValid() | ||
{ | ||
var model = new DateModelWithPassNull() { Value2 = DateTime.Now }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void DateWithValue2NullIsValid() | ||
{ | ||
var model = new DateModelWithPassNull() { Value1 = DateTime.Now }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void Int16IsValid() | ||
{ | ||
var model = new Int16Model() { Value1 = 12, Value2 = 120 }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void Int16EqualIsValid() | ||
{ | ||
var model = new Int16Model() { Value1 = 12, Value2 = 12 }; | ||
Assert.IsTrue(model.IsValid("Value2")); | ||
} | ||
|
||
[Test] | ||
public void Int16IsNotValid() | ||
{ | ||
var model = new Int16Model() { Value1 = 120, Value2 = 12 }; | ||
Assert.IsFalse(model.IsValid("Value2")); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.