Delphi-Mocks представляет две функции:
function CompareValue(const Left,Right : TValue): Integer;
function SameValue(const Left, Right: TValue): Boolean;
С помощью помощника по записи для TValue вы также можете сделать TValue.Equals(TValue);
Лицензия на условиях Apache и подразрешение Stefan Glienke.
Вот оригинальный источник Stefan: delphisorcery .
Если вам нужно расширить функциональность для вариантов, добавьте:
function TValueHelper.IsVariant: Boolean;
begin
Result := TypeInfo = System.TypeInfo(Variant);
end;
и вставьте
if Left.IsVariant and Right.IsVariant then
begin
Result := Left.AsVariant = Right.AsVariant;
end else
после сравнения isString в функции SameValue
.