2015-03-27 2 views
0

Используя FitNesse с FitSharp (.Net), у меня есть свойство объекта, который представляет собой HashSet перечисления, например.Значение теста HashSet в ячейке таблицы FitNesse?

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 

Что это самый простой способ получить FitNesse с FitSharp (.Net), чтобы понять HashSets?

ответ

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"; 
    } 

Переопределение метода синтаксического разбора изменяет поведение, когда клетка анализируется, чтобы создать вход или ожидаемое значение.

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

Я уже пробовал это вначале. Пример кода показывает, как создать новый оператор синтаксического анализа, но даже если я его зарегистрировал, я просто не мог заставить FitNesse вызвать метод Parse для рассматриваемой ячейки. В конце концов я сдался и пошел на другое решение. –

Смежные вопросы