@Test
public void processNewTransmitterData_NormalBg_LowBattery() {

    // Setup
    Pref.setBoolean("blueReader_turn_off", false);
    String message = "150000 3300";
    Sensor mockSensor = createMockSensor();
    addMockBgReading(150, 15, mockSensor);
    addMockBgReading(150, 10, mockSensor);
    addMockBgReading(150, 5, mockSensor);
    Calibration.initialCalibration(150, 150, RuntimeEnvironment.application.getApplicationContext());
    // Act
    byte[] bytes = blueReader.decodeblueReaderPacket(message.getBytes(), message.length());
    // Verify
    assertThat(bytes).isNull();
    assertThat(PersistentStore.getLong("blueReader_Full_Battery")).isEqualTo(4100);
    assertThat(PersistentStore.getString("bridge_battery_days")).isEqualTo("0.1");
    assertThat(Pref.getInt("bridge_battery", -1)).isEqualTo(0);
    assertThat(getLogs()).contains("BgReading.create: new BG reading at ");
    assertThat(Sensor.currentSensor().latest_battery_level).isEqualTo(0);
    TransmitterData lastTransmitterData = DexCollectionService.last_transmitter_Data;
    assertThat(lastTransmitterData.filtered_data).isEqualTo(150000.0);
    assertThat(lastTransmitterData.raw_data).isEqualTo(150000.0);
    assertThat(lastTransmitterData.sensor_battery_level).isEqualTo(3300);
    BgReading lastBgReading = BgReading.last();
    assertThat(lastBgReading.raw_data).isEqualTo(150.0d);
    assertThat(lastBgReading.filtered_data).isEqualTo(150.0d);
}