  @Test
  public void testIntersection() {

    // [2, 7] intersection [0, 1] = null
    final LongRange intersection1 = LongRangeUtils.getIntersection(ORIGINAL, OUTSIDE);
    // The result should be null
    assertNull(intersection1);

    // [2, 7] intersection [2, 3] = [2, 3]
    final LongRange intersection2 = LongRangeUtils.getIntersection(ORIGINAL, SAME_EDGE_INSIDE);
    assertEquals(SAME_EDGE_INSIDE, intersection2);

    // [2, 7] intersection [1, 2] = [2, 2]
    final LongRange intersection3 = LongRangeUtils.getIntersection(ORIGINAL, SAME_EDGE_OUTSIDE);
    assertEquals(new LongRange(2, 2), intersection3);

    // [2, 7] intersection [4, 5] = [4, 5]
    final LongRange intersection4 = LongRangeUtils.getIntersection(ORIGINAL, INSIDE);
    assertEquals(new LongRange(4, 5), intersection4);
  }