pub const COLUMN_FLAG_MASK: u8 = 0xF0;
pub const COLUMN_FLAG_NAME: u8 = 0x10; pub const COLUMN_FLAG_DEFAULT: u8 = 0x20; pub const COLUMN_FLAG_ROW: u8 = 0x40; pub const COLUMN_FLAG_UNDEFINED: u8 = 0x80;
pub const COLUMN_TYPE_MASK: u8 = 0x0F;
pub const COLUMN_TYPE_1BYTE: u8 = 0x00; pub const COLUMN_TYPE_1BYTE2: u8 = 0x01; pub const COLUMN_TYPE_2BYTE: u8 = 0x02; pub const COLUMN_TYPE_2BYTE2: u8 = 0x03; pub const COLUMN_TYPE_4BYTE: u8 = 0x04; pub const COLUMN_TYPE_4BYTE2: u8 = 0x05; pub const COLUMN_TYPE_8BYTE: u8 = 0x06; pub const COLUMN_TYPE_FLOAT: u8 = 0x08; pub const COLUMN_TYPE_STRING: u8 = 0x0A;
pub const COLUMN_TYPE_DATA: u8 = 0x0B;
pub const WAVEFORM_ENCODE_TYPE_ADX: i32 = 0;
pub const WAVEFORM_ENCODE_TYPE_HCA: i32 = 2;
pub const WAVEFORM_ENCODE_TYPE_VAG: i32 = 7;
pub const WAVEFORM_ENCODE_TYPE_ATRAC3: i32 = 8;
pub const WAVEFORM_ENCODE_TYPE_BCWAV: i32 = 9;
pub const WAVEFORM_ENCODE_TYPE_NINTENDO_DSP: i32 = 13;
pub fn wave_type_extension(enc_type: i32) -> &'static str {
match enc_type {
WAVEFORM_ENCODE_TYPE_ADX => ".adx",
WAVEFORM_ENCODE_TYPE_HCA => ".hca",
WAVEFORM_ENCODE_TYPE_VAG => ".at3",
WAVEFORM_ENCODE_TYPE_ATRAC3 => ".vag",
WAVEFORM_ENCODE_TYPE_BCWAV => ".bcwav",
WAVEFORM_ENCODE_TYPE_NINTENDO_DSP => ".dsp",
_ => "",
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_wave_type_extension_known() {
assert_eq!(wave_type_extension(WAVEFORM_ENCODE_TYPE_ADX), ".adx");
assert_eq!(wave_type_extension(WAVEFORM_ENCODE_TYPE_HCA), ".hca");
assert_eq!(wave_type_extension(WAVEFORM_ENCODE_TYPE_VAG), ".at3");
assert_eq!(wave_type_extension(WAVEFORM_ENCODE_TYPE_ATRAC3), ".vag");
assert_eq!(wave_type_extension(WAVEFORM_ENCODE_TYPE_BCWAV), ".bcwav");
assert_eq!(
wave_type_extension(WAVEFORM_ENCODE_TYPE_NINTENDO_DSP),
".dsp"
);
}
#[test]
fn test_wave_type_extension_unknown() {
assert_eq!(wave_type_extension(-1), "");
assert_eq!(wave_type_extension(99), "");
assert_eq!(wave_type_extension(1), "");
}
#[test]
fn test_column_constants() {
assert_eq!(COLUMN_FLAG_MASK & COLUMN_TYPE_MASK, 0);
assert_eq!(COLUMN_FLAG_MASK | COLUMN_TYPE_MASK, 0xFF);
}
}