class KinClient {

    public @NonNull
    KinAccount addAccount() throws CreateAccountException {
        return kinClientInternal.addAccount();
    }

}

class KinClientTest {

    private static final String APP_ID;
    @Rule
    public ExpectedException expectedEx;
    @Mock
    private TransactionSender mockTransactionSender;
    @Mock
    private GeneralBlockchainInfoRetrieverImpl mockGeneralBlockchainInfoRetriever;
    @Mock
    private AccountInfoRetriever mockAccountInfoRetriever;
    @Mock
    private BlockchainEventsCreator mockBlockchainEventsCreator;
    private KinClient kinClient;
    private KeyStore fakeKeyStore;
    private Environment fakeEnvironment;

    @Test
    public void createAccount_AddAccount() throws Exception {

        KinAccount kinAccount = kinClient.addAccount();

        assertNotNull(kinAccount);
        assertThat(kinAccount.getPublicAddress(), not(isEmptyOrNullString()));
    }

}