@Test public void shouldNotAddMeasurementsToASavedSession() { sessionManager.session = new Session(); triggerMeasurement(10); assertThat(sessionManager.getMeasurementStreams().isEmpty(), equalTo(true)); }
@Test public void shouldSkipMeasurementsFromDisabledStreams() { sessionManager.state.recording().startRecording(); when(sensor.isEnabled()).thenReturn(false); triggerMeasurement(); assertThat(sessionManager.getMeasurementStreams().isEmpty(), equalTo(true)); }
@Test public void shouldAllowAccessToAParticularStream() { sessionManager.startMobileSession(false); triggerMeasurement(); MeasurementStream expected = Iterables.getOnlyElement(sessionManager.getMeasurementStreams()); assertThat(sessionManager.getMeasurementStream("LHC") == expected, equalTo(true)); }
@Test public void shouldCreateOnlyOneStreamPerSensor() { sessionManager.startMobileSession(false); triggerMeasurement(); triggerMeasurement(); assertThat(sessionManager.getMeasurementStreams().size(), equalTo(1)); }
@Test public void measurements_withoutLocation_should_get_a_fake() { sessionManager.startMobileSession(false); sessionManager.session.setLocationless(true); when(sessionManager.locationHelper.getLastLocation()).thenReturn(null); triggerMeasurement(); assertThat(sessionManager.getMeasurementStreams().isEmpty(), equalTo(false)); assertThat(sessionManager.getSession().isLocationless(), equalTo(true)); }
@Test public void shouldCreateMeasurementStreams() { sessionManager.startMobileSession(false); triggerMeasurement(); MeasurementStream expected = lastEvent.stream(); Collection<MeasurementStream> streams = sessionManager.getMeasurementStreams(); assertThat(streams, hasItem(expected)); }
@Test public void shouldCreateAStreamForEachSensor() { sessionManager.startMobileSession(false); triggerMeasurement(); SensorEvent event = new SensorEvent("CERN", "LHC2", "Siggh boson", "SB", "number", "#", 1, 2, 3, 4, 5, 10); sessionManager.onEvent(event); MeasurementStream expected = event.stream(); assertThat(sessionManager.getMeasurementStreams(), hasItem(expected)); }
@Test public void shouldDiscardASession() { sessionManager.startMobileSession(false); sessionManager.getSession().setId(1234); triggerMeasurement(13.5); sessionManager.discardSession(); verify(sessionManager.audioReader, never()).stop(); verify(sessionManager.locationHelper).stop(); verify(sessionManager.sessionRepository, never()).save(Mockito.any(Session.class)); assertThat(sessionManager.getMeasurementStreams().isEmpty(), equalTo(true)); assertThat(sessionManager.isSessionStarted(), equalTo(false)); }