Ho un paio di “feature requests” di cui ho appena fatto check-in sul progetto Radical su CodePlex, dire che sia Ughetto che Antonio saranno contenti. Adesso ci sono anche questa feature:
[TestMethod]
public void sringEnsureExtension_matches_using_valid_email_address_should_not_fail()
{
    var pattern = KnownRegex.MailAddress;

    Ensure.That( "name@domain.tld" ).Matches( pattern );
}

[TestMethod]
[ExpectedException( typeof( FormatException ) )]
public void sringEnsureExtension_matches_using_non_valid_email_address_should_raise_FormatException()
{
    var pattern = KnownRegex.MailAddress;

    Ensure.That( "name_domain.tld" ).Matches( pattern );
}
e questa:
[TestMethod]
[ExpectedException( typeof( ArgumentOutOfRangeException ) )]
public void comparableEnsureExtension_isWithin_using_value_out_of_range_should_raise_ArgumentOutOfRangeException()
{
    Ensure.That( 100 ).IsWithin( 8, 11 );
}

[TestMethod]
public void comparableEnsureExtension_isWithin_using_value_equals_to_lower_range_inclusive_should_not_fail()
{
    Ensure.That( 8 ).IsWithin( 8, 11, Boundary.IncludeLower );
}

[TestMethod]
public void comparableEnsureExtension_isWithin_using_value_equals_to_higher_range_inclusive_should_not_fail()
{
    Ensure.That( 11 ).IsWithin( 8, 11, Boundary.IncludeHigher );
}
Ho inoltre fatto un interessante refactoring che ha eliminato un po’ di ridondanza nei vari IsGreaterThen e IsSmallerThen introducendo un generico Ensure che si aspetta un IComparable rendendo di fatto possibile confrontare qualsiasi cosa.
Ergo se avete feature request, anche solo per poi scopiazzarvele, fatevi sotto… nulla è certo ma tentar non nuoce :-) siccome sono un amante di TFS prima di chiedere verificate sul sito del progetto che non siano già in coda o nei desiderata.
.m