aboutsummaryrefslogtreecommitdiff
path: root/v1/src/test/java/com/xtremelabs/robolectric/shadows/RemoteCallbackListTest.java
blob: 66029916d065e2cd8e7ff1721ee82444705c1b11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.xtremelabs.robolectric.shadows;

import android.os.Binder;
import android.os.IBinder;
import android.os.IInterface;
import android.os.RemoteCallbackList;
import org.junit.Test;
import org.junit.runner.RunWith;

import com.xtremelabs.robolectric.WithTestDefaultsRunner;

import static org.hamcrest.CoreMatchers.sameInstance;
import static org.hamcrest.MatcherAssert.assertThat;

@RunWith(WithTestDefaultsRunner.class)
public class RemoteCallbackListTest {
    @Test
    public void testBasicWiring() throws Exception {
        RemoteCallbackList<Foo> fooRemoteCallbackList = new RemoteCallbackList<Foo>();
        Foo callback = new Foo();
        fooRemoteCallbackList.register(callback);

        fooRemoteCallbackList.beginBroadcast();

        assertThat(fooRemoteCallbackList.getBroadcastItem(0), sameInstance(callback));
    }

    public static class Foo implements IInterface {

        @Override
        public IBinder asBinder() {
            return new Binder();
        }
    }
}