blob: df82ac0be505b1641fb6bad8f1f0bcadd9ea39fd [file] [log] [blame]
package org.robolectric.shadows;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.os.Build;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.TestRunners;
import org.robolectric.annotation.Config;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(TestRunners.MultiApiWithDefaults.class)
@Config(sdk = {
Build.VERSION_CODES.LOLLIPOP })
public class ShadowPorterDuffColorFilterTest {
@Test
public void constructor_shouldWork() {
final PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.ADD);
assertThat(filter.getColor()).isEqualTo(Color.RED);
assertThat(filter.getMode()).isEqualTo(PorterDuff.Mode.ADD);
}
@Test
public void setColor_shouldWork() {
final PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.ADD);
filter.setColor(Color.BLUE);
assertThat(filter.getColor()).isEqualTo(Color.BLUE);
}
@Test
public void setMode_shouldWork() {
final PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.ADD);
filter.setMode(PorterDuff.Mode.DST_IN);
assertThat(filter.getMode()).isEqualTo(PorterDuff.Mode.DST_IN);
}
@Test
public void hashCode_returnsDifferentValuesForDifferentModes() {
PorterDuffColorFilter addFilter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.ADD);
PorterDuffColorFilter dstFilter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.DST);
assertThat(addFilter.hashCode()).isNotEqualTo(dstFilter.hashCode());
}
@Test
public void hashCode_returnsDifferentValuesForDifferentColors() {
PorterDuffColorFilter blueFilter = new PorterDuffColorFilter(Color.BLUE, PorterDuff.Mode.ADD);
PorterDuffColorFilter redFilter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.ADD);
assertThat(blueFilter.hashCode()).isNotEqualTo(redFilter.hashCode());
}
}