#467 data-bus: DataBusTest: added

This commit is contained in:
Paul Campbell 2017-04-01 18:36:04 +01:00
parent 46e0fa4825
commit b7a6a018e0

View File

@ -0,0 +1,52 @@
package com.iluwatar.databus;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import static org.mockito.BDDMockito.then;
import static org.mockito.Mockito.never;
/**
* Tests for {@link DataBus}.
*
* @author Paul Campbell (pcampbell@kemitix.net)
*/
public class DataBusTest {
@Mock
private Member member;
@Mock
private DataType event;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void publishedEventIsReceivedBySubscribedMember() {
//given
final DataBus dataBus = DataBus.getInstance();
dataBus.subscribe(member);
//when
dataBus.publish(event);
//then
then(member).should().accept(event);
}
@Test
public void publishedEventIsNotReceivedByMemberAfterUnsubscribing() {
//given
final DataBus dataBus = DataBus.getInstance();
dataBus.subscribe(member);
dataBus.unsubscribe(member);
//when
dataBus.publish(event);
//then
then(member).should(never()).accept(event);
}
}