@Test
public void execute() throws ProtocolAdapterException {

    // SETUP
    final DlmsDevice device = new DlmsDevice();
    final Protocol protocol = Protocol.DSMR_4_2_2;
    device.setProtocol(protocol);
    when(this.protocolServiceLookup.lookupGetService(protocol)).thenReturn(this.getService);
    when(this.getService.getConfigurationObject(this.conn)).thenReturn(this.configurationOnDevice);
    when(this.protocolServiceLookup.lookupSetService(protocol)).thenReturn(this.setService);
    final AccessResultCode accessResultCode = AccessResultCode.SUCCESS;
    when(this.setService.setConfigurationObject(this.conn, this.configurationToSet, this.configurationOnDevice))
            .thenReturn(accessResultCode);
    // CALL
    final AccessResultCode result = this.instance.execute(this.conn, device, this.configurationToSet);
    // VERIFY
    assertThat(result).isSameAs(accessResultCode);
}