@Test
  public void testConstruct_whenDatabaseIsOlder() {
    assertThat(AccountDb.deleteDatabase(DependencyInjector.getContext())).isTrue();
    SQLiteDatabase database = createOlderDatabaseWithRecords();

    String[] olderColumnNames = {
        AccountDb.ID_COLUMN, AccountDb.NAME_COLUMN, AccountDb.SECRET_COLUMN,
        AccountDb.COUNTER_COLUMN, AccountDb.TYPE_COLUMN, AccountDb.PROVIDER_COLUMN
        };

    String[] allColumnNames = {
        AccountDb.ID_COLUMN, AccountDb.NAME_COLUMN, AccountDb.SECRET_COLUMN,
        AccountDb.COUNTER_COLUMN, AccountDb.TYPE_COLUMN, AccountDb.PROVIDER_COLUMN,
        AccountDb.ISSUER_COLUMN, AccountDb.ORIGINAL_NAME_COLUMN
        };

    assertThat(AccountDb.listTableColumnNamesLowerCase(database, AccountDb.TABLE_NAME))
        .containsExactly((Object[]) olderColumnNames);
    database.close();
    database = null;

   accountDb = new AccountDb(DependencyInjector.getContext());
   assertThat(AccountDb.listTableColumnNamesLowerCase(accountDb.mDatabase, AccountDb.TABLE_NAME))
       .containsExactly((Object[]) allColumnNames);
   assertThat(accountDb.getAccounts())
       .containsExactly((Object[]) autoUpgraded(TEST_ACCOUNTS_WITH_NULL_ISSUER))
       .inOrder();
  }
Note: caller should carefully determine the expected value of {@code isGoogleAccount}, which
is affected by multiple factors.

@param isGoogleAccount is a {@code boolean}, not a {@link Boolean}
javatests/com/google/android/apps/authenticator/otp/AccountDbTest.java