root / trunk / hammock / src / net35 / Hammock.Tests / Attributes / Validation / SpecificationAttributeTests.cs @ 0eea575a
History | View | Annotate | Download (1 kB)
1 |
using System; |
---|---|
2 |
using Hammock.Attributes.Specialized; |
3 |
using Hammock.Attributes.Validation; |
4 |
using Hammock.Specifications; |
5 |
using Hammock.Validation; |
6 |
using Hammock.Web; |
7 |
using NUnit.Framework; |
8 |
|
9 |
namespace Hammock.Tests.Attributes.Validation |
10 |
{ |
11 |
[TestFixture] |
12 |
public class SpecificationAttributeTests |
13 |
{ |
14 |
public class DateTimeFormatInfo : IWebQueryInfo |
15 |
{ |
16 |
[Specification(typeof(ValidEmailSpecification))] |
17 |
[Parameter("Contact")] |
18 |
public string Email { get; set; } |
19 |
} |
20 |
|
21 |
[Test] |
22 |
[ExpectedException(typeof(ValidationException))] |
23 |
public void Can_use_specification_validation_to_block_request() |
24 |
{ |
25 |
var info = new DateTimeFormatInfo { Email = "nowhere" }; |
26 |
|
27 |
var client = new RestClient |
28 |
{ |
29 |
Authority = "http://nowhere.com", |
30 |
Info = info |
31 |
}; |
32 |
|
33 |
var request = new RestRequest |
34 |
{ |
35 |
Path = "fast" |
36 |
}; |
37 |
|
38 |
client.Request(request); |
39 |
} |
40 |
} |
41 |
} |