Skip to main content

sim_lib_stream_device/
cookbook.rs

1//! Deterministic cookbook builders for stream-device recipes.
2
3use sim_kernel::Expr;
4
5use crate::{DeviceCaps, DeviceSample};
6
7/// Builds the modeled device capabilities descriptor used by the cookbook.
8pub fn device_caps_descriptor_demo() -> Expr {
9    DeviceCaps::demo(0).to_expr()
10}
11
12#[cfg(test)]
13mod tests {
14    use super::*;
15    use crate::{DeviceCaps, DeviceSample};
16
17    #[test]
18    fn device_caps_descriptor_round_trips() {
19        let demo = device_caps_descriptor_demo();
20        let decoded = DeviceCaps::from_expr(&demo).expect("demo descriptor is valid");
21        assert_eq!(decoded.seq(), 0);
22    }
23}