#![cfg(feature = "test-single-device")]
use realsense_rust::{
config::Config,
context::Context,
kind::{Rs2Format, Rs2ProductLine, Rs2StreamKind},
pipeline::InactivePipeline,
};
use std::{collections::HashSet, convert::TryFrom};
#[test]
fn ensure_at_least_one_intel_device_connected() {
let context = Context::new().unwrap();
let mut mask = HashSet::new();
mask.insert(Rs2ProductLine::AnyIntel);
let devices = context.query_devices(mask);
assert!(!devices.is_empty());
}
#[test]
fn can_resolve_all_streams_always() {
let context = Context::new().unwrap();
let mut config = Config::new();
config.enable_all_streams().unwrap();
let pipeline = InactivePipeline::try_from(&context).unwrap();
assert!(pipeline.can_resolve(&config));
}
#[test]
fn cannot_resolve_bad_config() {
let context = Context::new().unwrap();
let mut config = Config::new();
config
.disable_all_streams()
.unwrap()
.enable_stream(
Rs2StreamKind::Depth,
Some(0),
0,
0,
Rs2Format::MotionXyz32F,
100,
)
.unwrap();
let pipeline = InactivePipeline::try_from(&context).unwrap();
assert!(!pipeline.can_resolve(&config));
assert!(pipeline.resolve(&config).is_none());
}