在FitNesse表格单元格中测试HashSet的值?

时间:2015-03-27 17:30:00

标签: hashset fitnesse fitsharp

将FitNesse与FitSharp(.Net)一起使用,我有一个对象的属性,它是枚举的HashSet,例如。

public enum Fubar { Foo, Bar }

public class Test
{
   public HashSet<Fubar> SetOfFubar { get; set; }
}

我想简单地测试它,例如在像这样的数组夹具中测试:

|MyArrayFixture|
|SetOfFubar|
|Foo|
|Foo,Bar|
|Bar|
||

这简单地导致所有行标记为缺失&amp;红色和一组剩余的行显示如下:

System.Collections.Generic.HashSet`1[MyNamespace.Fubar] surplus

使用FitSharp(.Net)获取FitNesse以了解HashSets的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以编写一个解析运算符。这是http://fitsharp.github.io/Fit/WriteOurOwnCellOperator.html中的一个小例子,它将字符串“pi”解析为数值。

using fitSharp.Fit.Operators;
using fitSharp.Machine.Engine;
public class ParsePi: CellOperator, ParseOperator<Cell> {
     

CanParse方法覆盖确定处理哪些单元格   我们的运营商我们检查单元格中的“pi”以及我们是否   使用数字类型。如果我们这样做,这可以保留正常的行为   使用“pi”作为字符串输入或期望值。

  public bool CanParse(Type type, TypedValue instance, Tree<Cell> parameters) {
    return type == typeof(double) && parameters.Value.Text == "pi";
  }
     

重写Parse方法会更改单元格时的行为   解析以创建输入或期望值。

  public TypedValue Parse(Type type, TypedValue instance, TreeTree<Cell> parameters) {
    return new TypedValue(System.Math.PI);
  }
}