package pl.llp.aircasting.sensor.external; import pl.llp.aircasting.InjectedTestRunner; import pl.llp.aircasting.model.events.SensorEvent; import com.google.common.eventbus.EventBus; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import java.io.IOException; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @RunWith(InjectedTestRunner.class) public class LineReaderTest { LineDataReader reader; @Before public void setup() throws IOException { reader = new LineDataReader(null, "123"); reader.parser = mock(ExternalSensorParser.class); reader.eventBus = mock(EventBus.class); } @Test public void shouldReadInputAndGenerateEvents() throws ParseException { SensorEvent event1 = mock(SensorEvent.class); doReturn(event1).when(reader.parser).parse("Reading 1"); reader.process("Reading 1"); verify(reader.eventBus).post(event1); } }