### Question:
InstructionSet implements Iterable<InstructionBlock> { public AddressSetView getAddressSet() { return addressSet; } InstructionSet(AddressFactory addrFactory); void addBlock(InstructionBlock block); InstructionBlock getInstructionBlockContaining(Address address); InstructionBlock findFirstIntersectingBlock(Address min, Address max); Instruction getInstructionAt(Address address); Address getMinAddress(); AddressSetView getAddressSet(); @Override String toString(); int getInstructionCount(); boolean containsBlockAt(Address blockAddr); boolean intersects(Address minAddress, Address maxAddress); @Override Iterator<InstructionBlock> iterator(); Iterator<InstructionBlock> emptyBlockIterator(); List<InstructionError> getConflicts();  }### Answer:
@Test public void testAddressSet() { AddressSet results = new AddressSet(); results.addRange(addr(0), addr(4)); results.addRange(addr(0x10), addr(0x14)); results.addRange(addr(0x20), addr(0x24)); results.addRange(addr(0x30), addr(0x34)); results.addRange(addr(0x40), addr(0x44)); results.addRange(addr(0x50), addr(0x54)); results.addRange(addr(0x60), addr(0x64)); results.addRange(addr(0x70), addr(0x74)); Assert.assertEquals(results, instructionSet.getAddressSet()); }