in edge-hub/core/src/Microsoft.Azure.Devices.Routing.Core/query/ComparisonOperators.cs [89:122]
public static Bool Compare(CompareOp op, QueryValue v1, QueryValue v2)
{
if (!Undefined.IsDefined(v1) || !Undefined.IsDefined(v2) || v1 == null || v2 == null)
{
return Bool.Undefined;
}
Bool result;
switch (op)
{
case CompareOp.Eq:
result = (Bool)(v1.CompareTo(v2) == 0);
break;
case CompareOp.Ne:
result = (Bool)(v1.CompareTo(v2) != 0);
break;
case CompareOp.Lt:
result = (Bool)(v1.CompareTo(v2) < 0);
break;
case CompareOp.Le:
result = (Bool)(v1.CompareTo(v2) <= 0);
break;
case CompareOp.Gt:
result = (Bool)(v1.CompareTo(v2) > 0);
break;
case CompareOp.Ge:
result = (Bool)(v1.CompareTo(v2) >= 0);
break;
default:
throw new ArgumentOutOfRangeException(nameof(op), op, null);
}
return result;
}