### Question:
Create2Operation extends AbstractCreateOperation { @Override protected Address targetContractAddress(final MessageFrame frame) { final Address sender = frame.getRecipientAddress(); final UInt256 offset = UInt256.fromBytes(frame.getStackItem(1)); final UInt256 length = UInt256.fromBytes(frame.getStackItem(2)); final Bytes32 salt = frame.getStackItem(3); final Bytes initCode = frame.readMemory(offset, length); final Hash hash = Hash.hash(Bytes.concatenate(PREFIX, sender, salt, Hash.hash(initCode))); final Address address = Address.extract(hash); frame.warmUpAddress(address); return address; } Create2Operation(final GasCalculator gasCalculator); @Override Gas cost(final MessageFrame frame);  }### Answer:
@Test public void shouldCalculateAddress() { final Address targetContractAddress = operation.targetContractAddress(messageFrame); assertThat(targetContractAddress).isEqualTo(Address.fromHexString(expectedAddress)); }