@Test
  public void testConstruct_whenDatabaseLacksNewerColumns() {
    expectDbConsistent = false;
    assertThat(AccountDb.deleteDatabase(DependencyInjector.getContext())).isTrue();

    SQLiteDatabase database =
        DependencyInjector.getContext().openOrCreateDatabase(
            FileUtilities.DATABASES_PATH, Context.MODE_PRIVATE, null);
    database.execSQL("CREATE TABLE " + AccountDb.TABLE_NAME + " (first INTEGER)");
    assertThat(AccountDb.listTableColumnNamesLowerCase(database, AccountDb.TABLE_NAME))
        .containsExactly("first");
    database.close();
    database = null;

    accountDb = new AccountDb(DependencyInjector.getContext());
    assertThat(AccountDb.listTableColumnNamesLowerCase(accountDb.mDatabase, AccountDb.TABLE_NAME))
        .containsExactly(
            "first",
            AccountDb.PROVIDER_COLUMN,
            AccountDb.ISSUER_COLUMN,
            AccountDb.ORIGINAL_NAME_COLUMN);
  }
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