@Test
	public void testCollections() {
		MyEntry entry1;
		MyEntry entry2;
		try (Transaction tx = obj.openTransaction("Create entries")) {
			entry1 = obj.space1.put(new ImmutableTraceAddressSnapRange(addr(0x1000), 5), null);
			entry2 = obj.space1.put(new ImmutableTraceAddressSnapRange(addr(0x1001), 6), null);
		}

		// NOTE: Default ordering is LEFTMOST first
		assertEquals(Set.of(ent(0x1000, 5, entry1), ent(0x1001, 6, entry2)),
			set(obj.space1.entries()));
		assertEquals(List.of(ent(0x1000, 5, entry1), ent(0x1001, 6, entry2)),
			list(obj.space1.orderedEntries()));

		assertEquals(Set.of(at(0x1000, 5), at(0x1001, 6)), set(obj.space1.keys()));
		assertEquals(List.of(at(0x1000, 5), at(0x1001, 6)), list(obj.space1.orderedKeys()));

		assertEquals(Set.of(entry1, entry2), set(obj.space1.values()));
		assertEquals(List.of(entry1, entry2), list(obj.space1.orderedValues()));
	}
TODO: Many of the features are tested indirectly through other manager tests. Those tests should
be applied here generically. Also, there are some classes which need test cases broken out for
them. The placeholder methods will become many actual test methods.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/map/DBTraceAddressSnapRangePropertyMapSpaceTest.java