public void testLongExtremeValues() throws Exception {
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,1,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,2,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,4,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,6,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,8,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE,Long.MAX_VALUE,64,true,Arrays.asList(0xffffffffffffffffL,0xffffffffffffffffL),Arrays.asList(0));
  assertLongRangeSplit(Long.MAX_VALUE - 0xfL,Long.MAX_VALUE,4,true,Arrays.asList(0xfffffffffffffffL,0xfffffffffffffffL),Arrays.asList(4));
  assertLongRangeSplit(Long.MAX_VALUE - 0x10L,Long.MAX_VALUE,4,true,Arrays.asList(0xffffffffffffffefL,0xffffffffffffffefL,0xfffffffffffffffL,0xfffffffffffffffL),Arrays.asList(0,4));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,1,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,2,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,4,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,6,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,8,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE,64,true,Arrays.asList(0x0000000000000000L,0x0000000000000000L),Arrays.asList(0));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE + 0xfL,4,true,Arrays.asList(0x000000000000000L,0x000000000000000L),Arrays.asList(4));
  assertLongRangeSplit(Long.MIN_VALUE,Long.MIN_VALUE + 0x10L,4,true,Arrays.asList(0x0000000000000010L,0x0000000000000010L,0x000000000000000L,0x000000000000000L),Arrays.asList(0,4));
}

public void testLongExtremeValues ( ) throws Exception { assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 1 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 2 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 4 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 6 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 8 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE , Long . MAX_VALUE , 64 , true , Arrays . asList ( 0xffffffffffffffffL , 0xffffffffffffffffL ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE - 0xfL , Long . MAX_VALUE , 4 , true , Arrays . asList ( 0xfffffffffffffffL , 0xfffffffffffffffL ) , Arrays . asList ( 4 ) ) ; assertLongRangeSplit ( Long . MAX_VALUE - 0x10L , Long . MAX_VALUE , 4 , true , Arrays . asList ( 0xffffffffffffffefL , 0xffffffffffffffefL , 0xfffffffffffffffL , 0xfffffffffffffffL ) , Arrays . asList ( 0 , 4 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 1 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 2 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 4 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 6 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 8 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE , 64 , true , Arrays . asList ( 0x0000000000000000L , 0x0000000000000000L ) , Arrays . asList ( 0 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE + 0xfL , 4 , true , Arrays . asList ( 0x000000000000000L , 0x000000000000000L ) , Arrays . asList ( 4 ) ) ; assertLongRangeSplit ( Long . MIN_VALUE , Long . MIN_VALUE + 0x10L , 4 , true , Arrays . asList ( 0x0000000000000010L , 0x0000000000000010L , 0x000000000000000L , 0x000000000000000L ) , Arrays . asList ( 0 , 4 ) ) ; }
lucene - 2541 : legacynumericrangequery errors with endpoints near long min and max values
