KinClient { public @NonNull KinAccount addAccount() throws CreateAccountException { return kinClientInternal.addAccount(); } KinClient(@NonNull Context context, @NonNull Environment environment, String appId);  KinClient(@NonNull Context context, @NonNull Environment environment, @NonNull String appId, @NonNull String storeKey); @VisibleForTesting  KinClient(Environment environment, KeyStore keyStore, TransactionSender transactionSender,
              AccountInfoRetriever accountInfoRetriever, GeneralBlockchainInfoRetrieverImpl generalBlockchainInfoRetriever,
              BlockchainEventsCreator blockchainEventsCreator, BackupRestore backupRestore, String appId, String storeKey); @NonNull KinAccount addAccount(); @NonNull KinAccount importAccount(@NonNull String exportedJson, @NonNull String passphrase); KinAccount getAccount(int index); boolean hasAccount(); int getAccountCount(); boolean deleteAccount(int index); void clearAllAccounts(); Environment getEnvironment(); Request<Long> getMinimumFee(); long getMinimumFeeSync(); String getAppId(); String getStoreKey();  }
@Test public void addAccount_NewAccount() throws Exception { KinAccount kinAccount = kinClient.addAccount(); assertNotNull(kinAccount); assertThat(kinAccount.getPublicAddress(), not(isEmptyOrNullString())); }
@Test public void createAccount_AddAccount() throws Exception { KinAccount kinAccount = kinClient.addAccount(); assertNotNull(kinAccount); assertThat(kinAccount.getPublicAddress(), not(isEmptyOrNullString())); }
@Test public void createAccount_AddMultipleAccount() throws Exception { KinAccount kinAccount = kinClient.addAccount(); KinAccount kinAccount2 = kinClient.addAccount(); assertNotNull(kinAccount); assertNotNull(kinAccount2); assertThat(kinAccount.getPublicAddress(), not(isEmptyOrNullString())); assertThat(kinAccount2.getPublicAddress(), not(isEmptyOrNullString())); assertThat(kinAccount, not(equalTo(kinAccount2))); }