@Test
void generateWithoutArgument()
{

    AsymmetricKeyPair kp1 = generator.generate();
    AsymmetricKeyPair kp2 = generator.generate();
    assertThat(kp1, not(nullValue()));
    assertThat(kp2, not(nullValue()));
    assertThat(kp1.getPrivate(), instanceOf(BcAsymmetricKeyParameters.class));
    assertThat(kp2.getPrivate(), instanceOf(BcAsymmetricKeyParameters.class));
    assertThat(kp1.getPublic(), instanceOf(BcAsymmetricKeyParameters.class));
    assertThat(kp2.getPublic(), instanceOf(BcAsymmetricKeyParameters.class));
    assertThat(((BcAsymmetricKeyParameters) kp1.getPrivate()).getParameters(), instanceOf(
        RSAPrivateCrtKeyParameters.class));
    assertThat(((BcAsymmetricKeyParameters) kp2.getPrivate()).getParameters(), instanceOf(
        RSAPrivateCrtKeyParameters.class));
    assertThat(((BcAsymmetricKeyParameters) kp1.getPublic()).getParameters(), instanceOf(RSAKeyParameters.class));
    assertThat(((BcAsymmetricKeyParameters) kp2.getPublic()).getParameters(), instanceOf(RSAKeyParameters.class));
    assertThat(
        ((RSAPrivateCrtKeyParameters) ((BcAsymmetricKeyParameters) kp1.getPrivate()).getParameters()).getModulus()
            .bitLength(), equalTo(2048));
    assertThat(
        ((RSAKeyParameters) ((BcAsymmetricKeyParameters) kp1.getPublic()).getParameters()).getModulus().bitLength(),
        equalTo(2048));
    assertThat(
        ((RSAPrivateCrtKeyParameters) ((BcAsymmetricKeyParameters) kp2.getPrivate()).getParameters()).getModulus()
            .bitLength(), equalTo(2048));
    assertThat(
        ((RSAKeyParameters) ((BcAsymmetricKeyParameters) kp2.getPublic()).getParameters()).getModulus().bitLength(),
        equalTo(2048));
    assertThat(((RSAPrivateCrtKeyParameters) ((BcAsymmetricKeyParameters) kp1.getPrivate()).getParameters())
        .getPublicExponent(), equalTo(BigInteger.valueOf(0x10001)));
    assertThat(((RSAKeyParameters) ((BcAsymmetricKeyParameters) kp1.getPublic()).getParameters()).getExponent(),
        equalTo(BigInteger.valueOf(0x10001)));
    assertThat(((RSAPrivateCrtKeyParameters) ((BcAsymmetricKeyParameters) kp2.getPrivate()).getParameters())
        .getPublicExponent(), equalTo(BigInteger.valueOf(0x10001)));
    assertThat(((RSAKeyParameters) ((BcAsymmetricKeyParameters) kp2.getPublic()).getParameters()).getExponent(),
        equalTo(BigInteger.valueOf(0x10001)));
}