test_class.file: shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtilsTest.java
test_class.identifier: SafeNumberOperationUtilsTest
test_case.body: @Test
      public void assertSafeEqualsForBigInteger() {
          List<Comparable<?>> sourceCollection = Lists.newArrayList(10, 12);
          List<Comparable<?>> targetCollection = Lists.newArrayList(BigInteger.valueOf(10), BigInteger.valueOf(12L));
          assertTrue(SafeNumberOperationUtils.safeEquals(sourceCollection, targetCollection));
      }
test_case.class_method_signature: SafeNumberOperationUtilsTest.assertSafeEqualsForBigInteger()
test_case.full_signature: @Test public void assertSafeEqualsForBigInteger()
test_case.identifier: assertSafeEqualsForBigInteger
test_case.invocations: newArrayList newArrayList valueOf valueOf assertTrue safeEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertSafeEqualsForBigInteger()
focal_class.file: shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtils.java
focal_class.identifier: SafeNumberOperationUtils
focal_class.class_method_signature: SafeNumberOperationUtils.safeIntersection(final Range<Comparable<?>> range, final Range<Comparable<?>> connectedRange)
focal_class.full_signature: public static Range<Comparable<?>> safeIntersection(final Range<Comparable<?>> range, final Range<Comparable<?>> connectedRange)
focal_class.identifier: safeIntersection
focal_class.modifiers: public static
focal_class.parameters: (final Range<Comparable<?>> range, final Range<Comparable<?>> connectedRange)
focal_class.return: Range<Comparable<?>>
focal_class.signature: Range<Comparable<?>> safeIntersection(final Range<Comparable<?>> range, final Range<Comparable<?>> connectedRange)
focal_class.class_method_signature: SafeNumberOperationUtils.safeClosed(final Comparable<?> lowerEndpoint, final Comparable<?> upperEndpoint)
focal_class.full_signature: public static Range<Comparable<?>> safeClosed(final Comparable<?> lowerEndpoint, final Comparable<?> upperEndpoint)
focal_class.identifier: safeClosed
focal_class.modifiers: public static
focal_class.parameters: (final Comparable<?> lowerEndpoint, final Comparable<?> upperEndpoint)
focal_class.return: Range<Comparable<?>>
focal_class.signature: Range<Comparable<?>> safeClosed(final Comparable<?> lowerEndpoint, final Comparable<?> upperEndpoint)
focal_class.class_method_signature: SafeNumberOperationUtils.safeContains(final Range<Comparable<?>> range, final Comparable<?> endpoint)
focal_class.full_signature: public static boolean safeContains(final Range<Comparable<?>> range, final Comparable<?> endpoint)
focal_class.identifier: safeContains
focal_class.modifiers: public static
focal_class.parameters: (final Range<Comparable<?>> range, final Comparable<?> endpoint)
focal_class.return: boolean
focal_class.signature: boolean safeContains(final Range<Comparable<?>> range, final Comparable<?> endpoint)
focal_class.class_method_signature: SafeNumberOperationUtils.safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_class.full_signature: public static boolean safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_class.identifier: safeEquals
focal_class.modifiers: public static
focal_class.parameters: (final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_class.return: boolean
focal_class.signature: boolean safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_class.class_method_signature: SafeNumberOperationUtils.createTargetNumericTypeRange(final Range<Comparable<?>> range, final Class<?> clazz)
focal_class.full_signature: private static Range<Comparable<?>> createTargetNumericTypeRange(final Range<Comparable<?>> range, final Class<?> clazz)
focal_class.identifier: createTargetNumericTypeRange
focal_class.modifiers: private static
focal_class.parameters: (final Range<Comparable<?>> range, final Class<?> clazz)
focal_class.return: Range<Comparable<?>>
focal_class.signature: Range<Comparable<?>> createTargetNumericTypeRange(final Range<Comparable<?>> range, final Class<?> clazz)
focal_class.class_method_signature: SafeNumberOperationUtils.getTargetNumericType(final List<Comparable<?>> endpoints)
focal_class.full_signature: private static Class<?> getTargetNumericType(final List<Comparable<?>> endpoints)
focal_class.identifier: getTargetNumericType
focal_class.modifiers: private static
focal_class.parameters: (final List<Comparable<?>> endpoints)
focal_class.return: Class<?>
focal_class.signature: Class<?> getTargetNumericType(final List<Comparable<?>> endpoints)
focal_class.class_method_signature: SafeNumberOperationUtils.parseNumberByClazz(final String number, final Class<?> clazz)
focal_class.full_signature: @SneakyThrows(ReflectiveOperationException.class) private static Comparable<?> parseNumberByClazz(final String number, final Class<?> clazz)
focal_class.identifier: parseNumberByClazz
focal_class.modifiers: @SneakyThrows(ReflectiveOperationException.class) private static
focal_class.parameters: (final String number, final Class<?> clazz)
focal_class.return: Comparable<?>
focal_class.signature: Comparable<?> parseNumberByClazz(final String number, final Class<?> clazz)
focal_method.body: public static boolean safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection) {
          List<Comparable<?>> collection = Lists.newArrayList(sourceCollection);
          collection.addAll(targetCollection);
          Class<?> clazz = getTargetNumericType(collection);
          if (null == clazz) {
              return sourceCollection.equals(targetCollection);
          }
          List<Comparable<?>> sourceClazzCollection = sourceCollection.stream().map(number -> parseNumberByClazz(number.toString(), clazz)).collect(Collectors.toList());
          List<Comparable<?>> targetClazzCollection = targetCollection.stream().map(number -> parseNumberByClazz(number.toString(), clazz)).collect(Collectors.toList());
          return sourceClazzCollection.equals(targetClazzCollection);
      }
focal_method.class_method_signature: SafeNumberOperationUtils.safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_method.full_signature: public static boolean safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_method.identifier: safeEquals
focal_method.invocations: newArrayList addAll getTargetNumericType equals collect map stream parseNumberByClazz toString toList collect map stream parseNumberByClazz toString toList equals
focal_method.modifiers: public static
focal_method.parameters: (final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)
focal_method.return: boolean
focal_method.signature: boolean safeEquals(final Collection<Comparable<?>> sourceCollection, final Collection<Comparable<?>> targetCollection)