Add test for cmp_default_heuristics
This commit is contained in:
parent
b177bcdf22
commit
a2e15c6f55
64
src/lib.rs
64
src/lib.rs
|
@ -590,6 +590,70 @@ impl SupportedStreamConfigRange {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cmp_default_heuristics() {
|
||||||
|
let mut formats = vec![
|
||||||
|
SupportedStreamConfigRange {
|
||||||
|
channels: 2,
|
||||||
|
min_sample_rate: SampleRate(1),
|
||||||
|
max_sample_rate: SampleRate(96000),
|
||||||
|
sample_format: SampleFormat::F32,
|
||||||
|
},
|
||||||
|
SupportedStreamConfigRange {
|
||||||
|
channels: 1,
|
||||||
|
min_sample_rate: SampleRate(1),
|
||||||
|
max_sample_rate: SampleRate(96000),
|
||||||
|
sample_format: SampleFormat::F32,
|
||||||
|
},
|
||||||
|
SupportedStreamConfigRange {
|
||||||
|
channels: 2,
|
||||||
|
min_sample_rate: SampleRate(1),
|
||||||
|
max_sample_rate: SampleRate(96000),
|
||||||
|
sample_format: SampleFormat::I16,
|
||||||
|
},
|
||||||
|
SupportedStreamConfigRange {
|
||||||
|
channels: 2,
|
||||||
|
min_sample_rate: SampleRate(1),
|
||||||
|
max_sample_rate: SampleRate(96000),
|
||||||
|
sample_format: SampleFormat::U16,
|
||||||
|
},
|
||||||
|
SupportedStreamConfigRange {
|
||||||
|
channels: 2,
|
||||||
|
min_sample_rate: SampleRate(1),
|
||||||
|
max_sample_rate: SampleRate(22050),
|
||||||
|
sample_format: SampleFormat::F32,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
formats.sort_by(|a, b| a.cmp_default_heuristics(b));
|
||||||
|
|
||||||
|
// lowest-priority first:
|
||||||
|
assert_eq!(formats[0].sample_format(), SampleFormat::F32);
|
||||||
|
assert_eq!(formats[0].min_sample_rate(), SampleRate(1));
|
||||||
|
assert_eq!(formats[0].max_sample_rate(), SampleRate(96000));
|
||||||
|
assert_eq!(formats[0].channels(), 1);
|
||||||
|
|
||||||
|
assert_eq!(formats[1].sample_format(), SampleFormat::U16);
|
||||||
|
assert_eq!(formats[1].min_sample_rate(), SampleRate(1));
|
||||||
|
assert_eq!(formats[1].max_sample_rate(), SampleRate(96000));
|
||||||
|
assert_eq!(formats[1].channels(), 2);
|
||||||
|
|
||||||
|
assert_eq!(formats[2].sample_format(), SampleFormat::I16);
|
||||||
|
assert_eq!(formats[2].min_sample_rate(), SampleRate(1));
|
||||||
|
assert_eq!(formats[2].max_sample_rate(), SampleRate(96000));
|
||||||
|
assert_eq!(formats[2].channels(), 2);
|
||||||
|
|
||||||
|
assert_eq!(formats[3].sample_format(), SampleFormat::F32);
|
||||||
|
assert_eq!(formats[3].min_sample_rate(), SampleRate(1));
|
||||||
|
assert_eq!(formats[3].max_sample_rate(), SampleRate(22050));
|
||||||
|
assert_eq!(formats[3].channels(), 2);
|
||||||
|
|
||||||
|
assert_eq!(formats[4].sample_format(), SampleFormat::F32);
|
||||||
|
assert_eq!(formats[4].min_sample_rate(), SampleRate(1));
|
||||||
|
assert_eq!(formats[4].max_sample_rate(), SampleRate(96000));
|
||||||
|
assert_eq!(formats[4].channels(), 2);
|
||||||
|
}
|
||||||
|
|
||||||
impl From<SupportedStreamConfig> for StreamConfig {
|
impl From<SupportedStreamConfig> for StreamConfig {
|
||||||
fn from(conf: SupportedStreamConfig) -> Self {
|
fn from(conf: SupportedStreamConfig) -> Self {
|
||||||
conf.config()
|
conf.config()
|
||||||
|
|
Loading…
Reference in New Issue