Add variation tests.
This commit is contained in:
parent
ef9b4f3769
commit
557c34311a
80
src/mfvi.rs
80
src/mfvi.rs
|
@ -194,3 +194,83 @@ pub fn select_variant<'i>(input: &'i str, var: &'i Variant) -> String {
|
||||||
|
|
||||||
output
|
output
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::SfxMode;
|
||||||
|
|
||||||
|
const INPUT: &'static str = "
|
||||||
|
#VARIANT ~
|
||||||
|
#VARIANT _ tr
|
||||||
|
#SFXV ` *
|
||||||
|
|
||||||
|
#WAVE 0x20 0x62 violins
|
||||||
|
#WAVE 0x21 0x63 violas
|
||||||
|
#WAVE 0x22 ~0x01~ _0x09_ piano high
|
||||||
|
#WAVE 0x23 0x02 piano mid
|
||||||
|
#WAVE 0x24 0x07 piano lo-mid
|
||||||
|
#WAVE 0x25 0x04 piano low
|
||||||
|
##WAVE 0x26 0x06 piano x-high
|
||||||
|
#WAVE 0x27 0x75 vox
|
||||||
|
#WAVE 0x28 0x7E horn
|
||||||
|
#WAVE 0x29 0x92 oboe
|
||||||
|
";
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn default_variant() {
|
||||||
|
let vlist = super::get_variants(INPUT, SfxMode::Off);
|
||||||
|
let def = vlist
|
||||||
|
.get("_default_")
|
||||||
|
.expect("_default_ variant always exists");
|
||||||
|
|
||||||
|
let variation = super::select_variant(INPUT, def);
|
||||||
|
assert_eq!(
|
||||||
|
variation,
|
||||||
|
"
|
||||||
|
#VARIANT
|
||||||
|
#VARIANT _ tr
|
||||||
|
#SFXV ` *
|
||||||
|
|
||||||
|
#WAVE 0x20 0x62 violins
|
||||||
|
#WAVE 0x21 0x63 violas
|
||||||
|
#WAVE 0x22 0x01 piano high
|
||||||
|
#WAVE 0x23 0x02 piano mid
|
||||||
|
#WAVE 0x24 0x07 piano lo-mid
|
||||||
|
#WAVE 0x25 0x04 piano low
|
||||||
|
##WAVE 0x26 0x06 piano x-high
|
||||||
|
#WAVE 0x27 0x75 vox
|
||||||
|
#WAVE 0x28 0x7E horn
|
||||||
|
#WAVE 0x29 0x92 oboe
|
||||||
|
"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn tr_variant() {
|
||||||
|
let vlist = super::get_variants(INPUT, SfxMode::Off);
|
||||||
|
let tr = vlist
|
||||||
|
.get("tr")
|
||||||
|
.expect("tr variant is in input");
|
||||||
|
|
||||||
|
let variation = super::select_variant(INPUT, tr);
|
||||||
|
assert_eq!(
|
||||||
|
variation,
|
||||||
|
"
|
||||||
|
#VARIANT ~
|
||||||
|
#VARIANT tr
|
||||||
|
#SFXV ` *
|
||||||
|
|
||||||
|
#WAVE 0x20 0x62 violins
|
||||||
|
#WAVE 0x21 0x63 violas
|
||||||
|
#WAVE 0x22 0x09 piano high
|
||||||
|
#WAVE 0x23 0x02 piano mid
|
||||||
|
#WAVE 0x24 0x07 piano lo-mid
|
||||||
|
#WAVE 0x25 0x04 piano low
|
||||||
|
##WAVE 0x26 0x06 piano x-high
|
||||||
|
#WAVE 0x27 0x75 vox
|
||||||
|
#WAVE 0x28 0x7E horn
|
||||||
|
#WAVE 0x29 0x92 oboe
|
||||||
|
"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue