0

FitNesse と FitSharp (.Net) を使用して、列挙型の HashSet であるオブジェクトのプロパティを取得しました。

public enum Fubar { Foo, Bar }

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

たとえば、次のような配列フィクスチャで簡単にテストしたいと思います。

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

これにより、すべての行が欠落および赤でマークされ、一連の余剰行が次のように表示されます。

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

FitSharp (.Net) を使用して FitNesse に HashSet を理解させる最も簡単な方法は何ですか?

4

1 に答える 1

0

パース演算子を書くことができます。文字列「pi」を数値に解析するhttp://fitsharp.github.io/Fit/WriteOurOwnCellOperator.htmlの小さな例を次に示します。

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);
  }
}
于 2015-03-30T15:01:26.577 に答える