Могу ли я передать набор в тестовый набор в DUnitX? <, / A>

Я пытаюсь проверить состояние объекта после запуска теста. Это состояние содержится в наборе. Можно ли передать ожидаемое состояние в тестовый набор с помощью атрибутов DUnitX, чтобы я мог использовать один и тот же тест для всех разных входов?

Я пытался передать набор как константу или как набор, но в моей процедуре тестирования он всегда появляется как пустой набор.

Возможно ли это вообще с использованием атрибутов?Как бы вы проверить, если наборы идентичны?

Пример кода:

type
  TResult = (resOK,resWarn,resError);
  TResultSet = set of TResult;

const
  cErrWarn : TResultSet = [resWarn];

type
  [TestFixture]
  TMyTest = class(TBaseTest)
    [Test]
    [TestCase('Demo1','InputA,[resWarn]')] // <-- tried as a set
    [TestCase('Demo2','InputB,cErrWarn')]  // <-- tried as a constant

    procedure Test(Input:string; ExpectedResult: TResultSet);
  end;

procedure TMyTest.Test(Input:string; ExpectedResult: TResultSet);
begin
  // ExpectedResult is always the empty set []
  RunTests(MyObject(Input));
  Assert.AreEqual(ExpectedResult, MyObject.ResultSet);
end;

Я также попытался определить ожидаемый результат как массив, но затем DUnitX даже не вызывает тест больше. Вероятно, это просто "слишком много"

    procedure Test(Input:string; ExpectedResult: array of TResult);

Лучшее, что я мог придумать, это использовать следующий подход. Возьмите пример из трех ожидаемых состояний (введите здесь ваше любимое целое число ...) и проверьте их отдельно. Это не совсем то, на что я надеялся, но это помогает.

    procedure Test(Input:string; R1,R2,R3: TResult);

Помощь очень ценится. :)

Ответы на вопрос(2)

Ваш ответ на вопрос