All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.assertj.android.api.preference.RingtonePreferenceAssert Maven / Gradle / Ivy

There is a newer version: 1.2.0
Show newest version
// Copyright 2013 Square, Inc.
package org.assertj.android.api.preference;

import android.preference.RingtonePreference;

import static android.media.RingtoneManager.TYPE_ALARM;
import static android.media.RingtoneManager.TYPE_NOTIFICATION;
import static android.media.RingtoneManager.TYPE_RINGTONE;
import static org.assertj.android.internal.IntegerUtils.buildBitMaskString;
import static org.assertj.core.api.Assertions.assertThat;

/** Assertions for {@link RingtonePreference} instances. */
public class RingtonePreferenceAssert
    extends AbstractPreferenceAssert {
  public RingtonePreferenceAssert(RingtonePreference actual) {
    super(actual, RingtonePreferenceAssert.class);
  }

  public RingtonePreferenceAssert hasRingtoneType(@RingtoneType int type) {
    isNotNull();
    int actualType = actual.getRingtoneType();
    //noinspection ResourceType
    assertThat(actualType) //
        .overridingErrorMessage("Expected ringtone type <%s> but was <%s>.",
            ringtoneTypeToString(type), ringtoneTypeToString(actualType)) //
        .isEqualTo(type);
    return this;
  }

  public RingtonePreferenceAssert isShowingDefault() {
    isNotNull();
    assertThat(actual.getShowDefault()) //
        .overridingErrorMessage("Expected to be showing default but was not.") //
        .isTrue();
    return this;
  }

  public RingtonePreferenceAssert isNotShowingDefault() {
    isNotNull();
    assertThat(actual.getShowDefault()) //
        .overridingErrorMessage("Expected to not be showing default but was.") //
        .isFalse();
    return this;
  }

  public RingtonePreferenceAssert isShowingSilent() {
    isNotNull();
    assertThat(actual.getShowSilent()) //
        .overridingErrorMessage("Expected to be showing silent but was not.") //
        .isTrue();
    return this;
  }

  public RingtonePreferenceAssert isNotShowingSilent() {
    isNotNull();
    assertThat(actual.getShowSilent()) //
        .overridingErrorMessage("Expected to not be showing silent but was.") //
        .isFalse();
    return this;
  }

  private static String ringtoneTypeToString(@RingtoneType int type) {
    return buildBitMaskString(type) //
        .flag(TYPE_ALARM, "alarm")
        .flag(TYPE_NOTIFICATION, "notification")
        .flag(TYPE_RINGTONE, "ringtone")
        .get();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy