package org.robolectric.shadows;
import android.app.Activity;
import android.nfc.NfcAdapter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.TestRunners;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.robolectric.Shadows.shadowOf;
@RunWith(TestRunners.MultiApiSelfTest.class)
public class ShadowNfcAdapterTest {
@Test
public void setNdefPushMesageCallback_shouldUseCallback() {
final NfcAdapter.CreateNdefMessageCallback callback = mock(NfcAdapter.CreateNdefMessageCallback.class);
final Activity activity = Robolectric.setupActivity(Activity.class);
final NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity);
adapter.setNdefPushMessageCallback(callback, activity);
assertThat(shadowOf(adapter).getNdefPushMessageCallback()).isSameAs(callback);
}
@Test
public void isEnabled_shouldReturnEnabledState() {
final NfcAdapter adapter = NfcAdapter.getDefaultAdapter(RuntimeEnvironment.application);
assertThat(adapter.isEnabled()).isFalse();
shadowOf(adapter).setEnabled(true);
assertThat(adapter.isEnabled()).isTrue();
shadowOf(adapter).setEnabled(false);
assertThat(adapter.isEnabled()).isFalse();
}
}