@Test
public void finishSignatureShouldReturnAMatchedDevice() throws Exception {

    DeviceRegistration deviceRegistration = new DeviceRegistration(KEY_HANDLE_BASE64, USER_PUBLIC_KEY_SIGN_HEX, ATTESTATION_CERTIFICATE, 0);
    DeviceRegistration deviceRegistration2 = new DeviceRegistration(KEY_HANDLE_BASE64, USER_PUBLIC_KEY_SIGN_HEX, ATTESTATION_CERTIFICATE, 0);
    SignRequest request = SignRequest.builder()
        .challenge(SERVER_CHALLENGE_SIGN_BASE64)
        .appId(APP_ID_SIGN)
        .keyHandle(KEY_HANDLE_BASE64)
        .build();
    SignResponse tokenResponse = new SignResponse(CLIENT_DATA_SIGN_BASE64,
        SIGN_RESPONSE_DATA_BASE64, KEY_HANDLE_BASE64);
    SignRequestData requestData = new SignRequestData(
        APP_ID_SIGN,
        SERVER_CHALLENGE_SIGN_BASE64,
        ImmutableList.of(request)
    );
    DeviceRegistration device = u2f.finishSignature(requestData, tokenResponse, ImmutableList.of(deviceRegistration), ImmutableSet.of(APP_ID_ENROLL));
    DeviceRegistration overloadDevice = u2f.finishSignature(requestData, tokenResponse, ImmutableList.of(deviceRegistration2));
    assertEquals(KEY_HANDLE_BASE64, device.getKeyHandle());
    assertEquals(device, overloadDevice);
}