我创建了一个NUnit Theory来帮助我测试一些代码.正在测试的实际代码对于这个问题并不像我用来测试它的数据那么重要.即24小时制的小时和分钟.
我用这种方式编写了夹具,以便利用这些特性并符合NUnit 2.6 Theory特性中的限制.特别是,我觉得我必须创建像小时和分钟这样的类,以便解决Datapoints与精确类型的参数匹配的特性.
[TestFixture]
public class TimeWindowParserTheoryFixture
{
public class Hour
{
public int Value;
}
public class Minute
{
public int Value;
public string AsString { get { return Value.ToString("00"); } }
}
[Datapoints]
public IEnumerable<Hour> Hours
{
get
{
return Enumerable
.Range(0, 25)
.Select(v => new Hour() { Value = v })
.Union(Enumerable.Repeat((Hour)null, 1));
}
}
[Datapoints]
public IEnumerable<Minute> Minutes
{
get
{
return Enumerable
.Range(0, 60)
.Select(v => new Minute() { Value = v }) …Run Code Online (Sandbox Code Playgroud)