KinClient { public boolean hasAccount() { return kinClientInternal.hasAccount(); } 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 hasAccount_EmptyKeyStore_False() throws Exception { assertFalse(kinClient.hasAccount()); }
@Test public void hasAccount_ExistingAccount_True() throws Exception { createKeyStoreWithRandomAccount(); assertTrue(kinClient.hasAccount()); }
@Test public void hasAccount_ExistingMultipleAccounts_True() throws Exception { KeyPair account1 = createRandomAccount(); KeyPair account2 = createRandomAccount(); fakeKeyStore = new FakeKeyStore(Arrays.asList(account1, account2)); kinClient = createNewKinClient(); assertTrue(kinClient.hasAccount()); }