it('handles reverse intersect', function() {
   expect(newRangeCount({first: 3, last: 6}, {first: 1, last: 4})).toBe(2);
 });
 it('handles front extension', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 0, last: 4})).toBe(1);
 });
 it('handles forward insersect', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 3, last: 6})).toBe(2);
 });
 it('handles end extension', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 1, last: 8})).toBe(4);
 });
 it('handles superset', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 0, last: 5})).toBe(2);
 });
 it('handles reverse disjoint set', function() {
   expect(newRangeCount({first: 6, last: 8}, {first: 1, last: 4})).toBe(4);
 });
 it('handles forward disjoint set', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 6, last: 9})).toBe(4);
 });
 it('handles subset', function() {
   expect(newRangeCount({first: 1, last: 4}, {first: 2, last: 3})).toBe(0);
 });