internal static bool AreEqual()

in src/Proton.TestPeer/Matchers/Types/Primitives/Numbers.cs [82:135]


      internal static bool AreEqual(object lhs, object rhs)
      {
         if (!IsNumericType(lhs) && !IsNumericType(rhs))
         {
            return false;
         }

         if (lhs is double || rhs is double)
         {
            return AreEqual(Convert.ToDouble(lhs), Convert.ToDouble(rhs));
         }
         else if (lhs is float || rhs is float)
         {
            return AreEqual(Convert.ToSingle(lhs), Convert.ToSingle(rhs));
         }
         else if (lhs is decimal || rhs is decimal)
         {
            return AreEqual(Convert.ToDecimal(lhs), Convert.ToDecimal(rhs));
         }
         else if (lhs is ulong || rhs is ulong)
         {
            return AreEqual(Convert.ToUInt64(lhs), Convert.ToUInt64(rhs));
         }
         else if (lhs is long || rhs is long)
         {
            return AreEqual(Convert.ToInt64(lhs), Convert.ToInt64(rhs));
         }
         else if (lhs is uint || rhs is uint)
         {
            return AreEqual(Convert.ToUInt32(lhs), Convert.ToUInt32(rhs));
         }
         else if (lhs is int || rhs is int)
         {
            return AreEqual(Convert.ToInt32(lhs), Convert.ToInt32(rhs));
         }
         else if (lhs is ushort || rhs is ushort)
         {
            return AreEqual(Convert.ToUInt16(lhs), Convert.ToUInt16(rhs));
         }
         else if (lhs is short || rhs is short)
         {
            return AreEqual(Convert.ToInt16(lhs), Convert.ToInt16(rhs));
         }
         else if (lhs is byte || rhs is byte)
         {
            return AreEqual(Convert.ToByte(lhs), Convert.ToByte(rhs));
         }
         else if (lhs is sbyte || rhs is sbyte)
         {
            return AreEqual(Convert.ToSByte(lhs), Convert.ToSByte(rhs));
         }

         return false;
      }