@Test
	public void testRemove() throws IOException {
		SharedRangeMapDB map = new SharedRangeMapDB(dbh, "TEST", this, true);

		// Add same entries as the testAdd used
		map.add(10, 20, 1);
		map.add(30, 40, 1);
		map.add(50, 60, 1);
		map.add(70, 80, 1);

		map.add(21, 29, 1);

		map.add(35, 55, 1);

		map.add(55, 90, 1);

		map.add(20, 30, 2);

		map.add(28, 35, 3);

		map.add(28, 35, 4);

		// Remove
		map.remove(4);

		IndexRange[] ranges = new IndexRange[] {
			new IndexRange(10, 19),
			new IndexRange(20, 27),
			new IndexRange(28, 30),
			new IndexRange(31, 35),
			new IndexRange(36, 90)
		};

		IndexRange[] entries = new IndexRange[] {
			new IndexRange(10, 1),
			new IndexRange(20, 1),
			new IndexRange(28, 1),
			new IndexRange(31, 1),
			new IndexRange(36, 1),
			new IndexRange(20, 2),
			new IndexRange(28, 2),
			new IndexRange(28, 3),
			new IndexRange(31, 3)
		};

		inspectRecords(map, ranges, entries);

		// Remove
		map.remove(3);

		ranges = new IndexRange[] {
			new IndexRange(10, 19),
			new IndexRange(20, 30),
			new IndexRange(31, 90)
		};

		entries = new IndexRange[] {
			new IndexRange(10, 1),
			new IndexRange(20, 1),
			new IndexRange(31, 1),
			new IndexRange(20, 2)
		};

		inspectRecords(map, ranges, entries);

		// Remove
		map.remove(2);

		ranges = new IndexRange[] {
			new IndexRange(10, 90)
		};

		entries = new IndexRange[] {
			new IndexRange(10, 1)
		};

		inspectRecords(map, ranges, entries);

		// Remove last one
		map.remove(1);
		assertEquals(0, map.rangeTable.getRecordCount());
		assertEquals(0, map.mapTable.getRecordCount());

	}
Crude inspection - assumes two records will not contain the same
content.
@param map
@param ranges
@param mapRangeToValue (from is rangeKey, to is value)
@throws IOException
Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/util/SharedRangeMapDBTest.java