#[derive(Debug)]
pub struct SensorReading {
temperature: f32, humidity: f32, }
impl SensorReading {
pub fn new(temperature: f32, humidity: f32) -> Self {
Self {
temperature,
humidity,
}
}
pub fn humidity(&self) -> f32 {
self.humidity
}
pub fn temperature_celsius(&self) -> f32 {
self.temperature
}
pub fn temperature_fahrenheit(&self) -> f32 {
self.temperature * 9.0 / 5.0 + 32.0
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_dht_reading() {
let reading = SensorReading::new(25.0, 60.0);
assert_eq!(reading.temperature_celsius(), 25.0);
assert_eq!(reading.temperature_fahrenheit(), 77.0);
assert_eq!(reading.humidity(), 60.0);
}
}