public static Bool Compare()

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