meteofrance/model/
rain.rs1#[derive(Clone, Debug, PartialEq, serde::Deserialize)]
2#[cfg_attr(test, serde(deny_unknown_fields))]
3pub struct Rain {
4 pub position: super::Position,
5 #[serde(deserialize_with = "super::de::timestamp")]
6 pub updated_on: chrono::NaiveDateTime,
7 pub forecast: Vec<Forecast>,
8 pub quality: u8,
9}
10
11#[derive(Clone, Debug, PartialEq, serde::Deserialize)]
12#[cfg_attr(test, serde(deny_unknown_fields))]
13pub struct Forecast {
14 #[serde(deserialize_with = "super::de::timestamp")]
15 pub dt: chrono::NaiveDateTime,
16 pub rain: u8,
17 pub desc: String,
18}
19
20#[cfg(test)]
21mod test {
22 #[test]
23 fn get() -> crate::Result {
24 let client = crate::Client::default();
25 let rain = client.rain(48.8075, 2.24028);
26
27 assert!(dbg!(rain).is_ok());
28
29 Ok(())
30 }
31
32 #[test]
33 fn not_covered() -> crate::Result {
34 let client = crate::Client::default();
35 let rain = client.rain(45.508, -73.58);
36
37 assert!(rain.is_err());
38
39 Ok(())
40 }
41}