#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default)]
pub enum PixelSize {
#[default]
Full,
HalfHeight,
HalfWidth,
Quadrant,
ThirdHeight,
Sextant,
QuarterHeight,
Octant,
}
impl PixelSize {
pub(crate) const fn pixels_per_cell(self) -> (u16, u16) {
match self {
Self::Full => (1, 1),
Self::HalfHeight => (1, 2),
Self::HalfWidth => (2, 1),
Self::Quadrant => (2, 2),
Self::ThirdHeight => (1, 3),
Self::Sextant => (2, 3),
Self::QuarterHeight => (1, 4),
Self::Octant => (2, 4),
}
}
pub(crate) const fn symbol_for_position(self, glyph: &[u8; 8], row: usize, col: i32) -> char {
match self {
Self::Full => match glyph[row] & (1 << col) {
0 => ' ',
_ => 'โ',
},
Self::HalfHeight => {
let top = glyph[row] & (1 << col);
let bottom = glyph[row + 1] & (1 << col);
get_symbol_half_height(top, bottom)
}
Self::HalfWidth => {
let left = glyph[row] & (1 << col);
let right = glyph[row] & (1 << (col + 1));
get_symbol_half_width(left, right)
}
Self::Quadrant => {
let top_left = glyph[row] & (1 << col);
let top_right = glyph[row] & (1 << (col + 1));
let bottom_left = glyph[row + 1] & (1 << col);
let bottom_right = glyph[row + 1] & (1 << (col + 1));
get_symbol_quadrant_size(top_left, top_right, bottom_left, bottom_right)
}
Self::ThirdHeight => {
let top = glyph[row] & (1 << col);
let is_middle_available = (row + 1) < glyph.len();
let middle = if is_middle_available {
glyph[row + 1] & (1 << col)
} else {
0
};
let is_bottom_available = (row + 2) < glyph.len();
let bottom = if is_bottom_available {
glyph[row + 2] & (1 << col)
} else {
0
};
get_symbol_third_height(top, middle, bottom)
}
Self::Sextant => {
let top_left = glyph[row] & (1 << col);
let top_right = glyph[row] & (1 << (col + 1));
let is_middle_available = (row + 1) < glyph.len();
let (middle_left, middle_right) = if is_middle_available {
(
glyph[row + 1] & (1 << col),
glyph[row + 1] & (1 << (col + 1)),
)
} else {
(0, 0)
};
let is_bottom_available = (row + 2) < glyph.len();
let (bottom_left, bottom_right) = if is_bottom_available {
(
glyph[row + 2] & (1 << col),
glyph[row + 2] & (1 << (col + 1)),
)
} else {
(0, 0)
};
get_symbol_sextant_size(
top_left,
top_right,
middle_left,
middle_right,
bottom_left,
bottom_right,
)
}
Self::QuarterHeight => {
let top = glyph[row] & (1 << col);
let is_upper_middle_available = (row + 1) < glyph.len();
let upper_middle = if is_upper_middle_available {
glyph[row + 1] & (1 << col)
} else {
0
};
let is_lower_middle_available = (row + 2) < glyph.len();
let lower_middle = if is_lower_middle_available {
glyph[row + 2] & (1 << col)
} else {
0
};
let is_bottom_available = (row + 3) < glyph.len();
let bottom = if is_bottom_available {
glyph[row + 3] & (1 << col)
} else {
0
};
get_symbol_quarter_height(top, upper_middle, lower_middle, bottom)
}
Self::Octant => {
let top_left = glyph[row] & (1 << col);
let top_right = glyph[row] & (1 << (col + 1));
let is_upper_middle_available = (row + 1) < glyph.len();
let (upper_middle_left, upper_middle_right) = if is_upper_middle_available {
(
glyph[row + 1] & (1 << col),
glyph[row + 1] & (1 << (col + 1)),
)
} else {
(0, 0)
};
let is_lower_middle_available = (row + 2) < glyph.len();
let (lower_middle_left, lower_middle_right) = if is_lower_middle_available {
(
glyph[row + 2] & (1 << col),
glyph[row + 2] & (1 << (col + 1)),
)
} else {
(0, 0)
};
let is_bottom_available = (row + 3) < glyph.len();
let (bottom_left, bottom_right) = if is_bottom_available {
(
glyph[row + 3] & (1 << col),
glyph[row + 3] & (1 << (col + 1)),
)
} else {
(0, 0)
};
get_symbol_octant_size(
top_left,
top_right,
upper_middle_left,
upper_middle_right,
lower_middle_left,
lower_middle_right,
bottom_left,
bottom_right,
)
}
}
}
}
const fn get_symbol_half_height(top: u8, bottom: u8) -> char {
match top {
0 => match bottom {
0 => ' ',
_ => 'โ',
},
_ => match bottom {
0 => 'โ',
_ => 'โ',
},
}
}
const fn get_symbol_half_width(left: u8, right: u8) -> char {
match left {
0 => match right {
0 => ' ',
_ => 'โ',
},
_ => match right {
0 => 'โ',
_ => 'โ',
},
}
}
const fn get_symbol_quadrant_size(
top_left: u8,
top_right: u8,
bottom_left: u8,
bottom_right: u8,
) -> char {
let top_left = if top_left > 0 { 1 } else { 0 };
let top_right = if top_right > 0 { 1 } else { 0 };
let bottom_left = if bottom_left > 0 { 1 } else { 0 };
let bottom_right = if bottom_right > 0 { 1 } else { 0 };
const QUADRANT_SYMBOLS: [char; 16] = [
' ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ',
];
let character_index = top_left + (top_right << 1) + (bottom_left << 2) + (bottom_right << 3);
QUADRANT_SYMBOLS[character_index]
}
const fn get_symbol_third_height(top: u8, middle: u8, bottom: u8) -> char {
get_symbol_sextant_size(top, top, middle, middle, bottom, bottom)
}
const fn get_symbol_sextant_size(
top_left: u8,
top_right: u8,
middle_left: u8,
middle_right: u8,
bottom_left: u8,
bottom_right: u8,
) -> char {
let top_left = if top_left > 0 { 1 } else { 0 };
let top_right = if top_right > 0 { 1 } else { 0 };
let middle_left = if middle_left > 0 { 1 } else { 0 };
let middle_right = if middle_right > 0 { 1 } else { 0 };
let bottom_left = if bottom_left > 0 { 1 } else { 0 };
let bottom_right = if bottom_right > 0 { 1 } else { 0 };
const SEXANT_SYMBOLS: [char; 64] = [
' ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ
', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ',
'๐ฌ', '๐ฌ', '๐ฌ', 'โ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ', '๐ฌ ', '๐ฌก',
'๐ฌข', '๐ฌฃ', '๐ฌค', '๐ฌฅ', '๐ฌฆ', '๐ฌง', 'โ', '๐ฌจ', '๐ฌฉ', '๐ฌช', '๐ฌซ', '๐ฌฌ', '๐ฌญ', '๐ฌฎ', '๐ฌฏ', '๐ฌฐ', '๐ฌฑ', '๐ฌฒ',
'๐ฌณ', '๐ฌด', '๐ฌต', '๐ฌถ', '๐ฌท', '๐ฌธ', '๐ฌน', '๐ฌบ', '๐ฌป', 'โ',
];
let character_index = top_left
+ (top_right << 1)
+ (middle_left << 2)
+ (middle_right << 3)
+ (bottom_left << 4)
+ (bottom_right << 5);
SEXANT_SYMBOLS[character_index]
}
const fn get_symbol_quarter_height(
top: u8,
upper_middle: u8,
lower_middle: u8,
bottom: u8,
) -> char {
get_symbol_octant_size(
top,
top,
upper_middle,
upper_middle,
lower_middle,
lower_middle,
bottom,
bottom,
)
}
#[allow(clippy::too_many_arguments)]
const fn get_symbol_octant_size(
top_left: u8,
top_right: u8,
upper_middle_left: u8,
upper_middle_right: u8,
lower_middle_left: u8,
lower_middle_right: u8,
bottom_left: u8,
bottom_right: u8,
) -> char {
let top_left = if top_left > 0 { 1 } else { 0 };
let top_right = if top_right > 0 { 1 } else { 0 };
let upper_middle_left = if upper_middle_left > 0 { 1 } else { 0 };
let upper_middle_right = if upper_middle_right > 0 { 1 } else { 0 };
let lower_middle_left = if lower_middle_left > 0 { 1 } else { 0 };
let lower_middle_right = if lower_middle_right > 0 { 1 } else { 0 };
let bottom_left = if bottom_left > 0 { 1 } else { 0 };
let bottom_right = if bottom_right > 0 { 1 } else { 0 };
const OCTANT_SYMBOLS: [char; 256] = [
' ', '๐บจ', '๐บซ', '๐ฎ', '๐ด', 'โ', '๐ด', '๐ด', '๐ด', '๐ด', 'โ', '๐ด
', '๐ด', '๐ด', '๐ด', 'โ', '๐ด', '๐ด',
'๐ด', '๐ด', '๐ฏฆ', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด', '๐ด',
'๐ด', '๐ด', '๐ด', '๐ด', '๐ฏง', '๐ด ', '๐ดก', '๐ดข', '๐ดฃ', '๐ดค', '๐ดฅ', '๐ดฆ', '๐ดง', '๐ดจ', '๐ดฉ', '๐ดช', '๐ดซ', '๐ดฌ',
'๐ดญ', '๐ดฎ', '๐ดฏ', '๐ดฐ', '๐ดฑ', '๐ดฒ', '๐ดณ', '๐ดด', '๐ดต', '๐ฎ
', '๐บฃ', '๐ดถ', '๐ดท', '๐ดธ', '๐ดน', '๐ดบ', '๐ดป', '๐ดผ',
'๐ดฝ', '๐ดพ', '๐ดฟ', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', 'โ', '๐ต
', '๐ต', '๐ต', '๐ต', 'โ', '๐ต', '๐ต', '๐ต', '๐ต',
'โ', '๐ต', '๐ต', '๐ต', '๐ต', 'โ', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต', '๐ต',
'๐ต', '๐ต', '๐ต', '๐ต ', '๐ตก', '๐ตข', '๐ตฃ', '๐ตค', '๐ตฅ', '๐ตฆ', '๐ตง', '๐ตจ', '๐ตฉ', '๐ตช', '๐ตซ', '๐ตฌ', '๐ตญ', '๐ตฎ',
'๐ตฏ', '๐ตฐ', '๐บ ', '๐ตฑ', '๐ตฒ', '๐ตณ', '๐ตด', '๐ตต', '๐ตถ', '๐ตท', '๐ตธ', '๐ตน', '๐ตบ', '๐ตป', '๐ตผ', '๐ตฝ', '๐ตพ', '๐ตฟ',
'๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ
', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', 'โ', '๐ถ',
'๐ถ', '๐ถ', '๐ถ', 'โ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', 'โ', '๐ถ', '๐ถ', '๐ถ', '๐ถ', 'โ', '๐ถ', '๐ถ', '๐ถ', '๐ถ',
'๐ถ ', '๐ถก', '๐ถข', '๐ถฃ', '๐ถค', '๐ถฅ', '๐ถฆ', '๐ถง', '๐ถจ', '๐ถฉ', '๐ถช', '๐ถซ', 'โ', '๐ถฌ', '๐ถญ', '๐ถฎ', '๐ถฏ', '๐ถฐ',
'๐ถฑ', '๐ถฒ', '๐ถณ', '๐ถด', '๐ถต', '๐ถถ', '๐ถท', '๐ถธ', '๐ถน', '๐ถบ', '๐ถป', '๐ถผ', '๐ถฝ', '๐ถพ', '๐ถฟ', '๐ท', '๐ท', '๐ท',
'๐ท', '๐ท', '๐ท
', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท',
'๐ท', '๐ท', '๐ท', '๐ท', '๐ท', '๐ท', 'โ', '๐ท', '๐ท', '๐ท', '๐ท', 'โ', '๐ท', '๐ท ', '๐ทก', '๐ทข', 'โ', '๐ทฃ',
'โ', '๐ทค', '๐ทฅ', 'โ',
];
let character_index = top_left
+ (top_right << 1)
+ (upper_middle_left << 2)
+ (upper_middle_right << 3)
+ (lower_middle_left << 4)
+ (lower_middle_right << 5)
+ (bottom_left << 6)
+ (bottom_right << 7);
OCTANT_SYMBOLS[character_index]
}
#[cfg(test)]
mod tests {
use alloc::boxed::Box;
use super::*;
type Result<T> = core::result::Result<T, Box<dyn core::error::Error>>;
#[test]
fn check_quadrant_size_symbols() -> Result<()> {
assert_eq!(get_symbol_quadrant_size(0, 0, 0, 0), ' ');
assert_eq!(get_symbol_quadrant_size(1, 0, 0, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 1, 0, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 1, 0, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 0, 1, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 1, 1, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 1, 1, 0), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 0, 0, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 0, 0, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 1, 0, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 0, 1, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 0, 1, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(0, 1, 1, 1), 'โ');
assert_eq!(get_symbol_quadrant_size(1, 1, 1, 1), 'โ');
Ok(())
}
#[test]
#[allow(clippy::cognitive_complexity)]
fn check_sextant_size_symbols() -> Result<()> {
assert_eq!(get_symbol_sextant_size(0, 0, 0, 0, 0, 0), ' ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 0, 0, 0), '๐ฌ
');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 0, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 0, 0, 1), '๐ฌ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 0, 0, 1), '๐ฌ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 0, 0, 1), '๐ฌ ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 0, 0, 1), '๐ฌก');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 0, 0, 1), '๐ฌข');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 0, 0, 1), '๐ฌฃ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 0, 0, 1), '๐ฌค');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 0, 0, 1), '๐ฌฅ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 1, 0, 1), '๐ฌฆ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 1, 0, 1), '๐ฌง');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 1, 0, 1), '๐ฌจ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 1, 0, 1), '๐ฌฉ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 1, 0, 1), '๐ฌช');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 1, 0, 1), '๐ฌซ');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 1, 0, 1), '๐ฌฌ');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 0, 1, 1), '๐ฌญ');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 0, 1, 1), '๐ฌฎ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 0, 1, 1), '๐ฌฏ');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 0, 1, 1), '๐ฌฐ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 0, 1, 1), '๐ฌฑ');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 0, 1, 1), '๐ฌฒ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 0, 1, 1), '๐ฌณ');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 0, 1, 1), '๐ฌด');
assert_eq!(get_symbol_sextant_size(0, 0, 0, 1, 1, 1), '๐ฌต');
assert_eq!(get_symbol_sextant_size(1, 0, 0, 1, 1, 1), '๐ฌถ');
assert_eq!(get_symbol_sextant_size(0, 1, 0, 1, 1, 1), '๐ฌท');
assert_eq!(get_symbol_sextant_size(1, 1, 0, 1, 1, 1), '๐ฌธ');
assert_eq!(get_symbol_sextant_size(0, 0, 1, 1, 1, 1), '๐ฌน');
assert_eq!(get_symbol_sextant_size(1, 0, 1, 1, 1, 1), '๐ฌบ');
assert_eq!(get_symbol_sextant_size(0, 1, 1, 1, 1, 1), '๐ฌป');
assert_eq!(get_symbol_sextant_size(1, 1, 1, 1, 1, 1), 'โ');
Ok(())
}
#[test]
#[allow(clippy::cognitive_complexity)]
fn check_octant_size_symbols() -> Result<()> {
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 0, 0, 0), ' ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 0, 0, 0), '๐บจ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 0, 0, 0), '๐บซ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 0, 0, 0), '๐ฎ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 0, 0, 0), 'โ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 0, 0, 0), 'โ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 0, 0, 0), '๐ด
');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 0, 0, 0), 'โ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 0, 0, 0), '๐ฏฆ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 0, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 1, 0, 0), '๐ฏง');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 1, 0, 0), '๐ด ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 1, 0, 0), '๐ดก');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 1, 0, 0), '๐ดข');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 1, 0, 0), '๐ดฃ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 1, 0, 0), '๐ดค');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 1, 0, 0), '๐ดฅ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 1, 0, 0), '๐ดฆ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 1, 0, 0), '๐ดง');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 1, 0, 0), '๐ดจ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 1, 0, 0), '๐ดฉ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 1, 0, 0), '๐ดช');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 1, 0, 0), '๐ดซ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 1, 0, 0), '๐ดฌ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 1, 0, 0), '๐ดญ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 1, 0, 0), '๐ดฎ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 1, 0, 0), '๐ดฏ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 1, 0, 0), '๐ดฐ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 1, 0, 0), '๐ดฑ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 1, 0, 0), '๐ดฒ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 1, 0, 0), '๐ดณ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 1, 0, 0), '๐ดด');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 1, 0, 0), '๐ดต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 1, 0, 0), '๐ฎ
');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 0, 1, 0), '๐บฃ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 0, 1, 0), '๐ดถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 0, 1, 0), '๐ดท');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 0, 1, 0), '๐ดธ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 0, 1, 0), '๐ดน');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 0, 1, 0), '๐ดบ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 0, 1, 0), '๐ดป');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 0, 1, 0), '๐ดผ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 0, 1, 0), '๐ดฝ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 0, 1, 0), '๐ดพ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 0, 1, 0), '๐ดฟ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 0, 1, 0), '๐ต
');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 0, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 0, 1, 0), 'โ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 1, 1, 0), '๐ต');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 1, 1, 0), '๐ต ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 1, 1, 0), '๐ตก');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 1, 1, 0), '๐ตข');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 1, 1, 0), '๐ตฃ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 1, 1, 0), '๐ตค');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 1, 1, 0), '๐ตฅ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 1, 1, 0), '๐ตฆ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 1, 1, 0), '๐ตง');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 1, 1, 0), '๐ตจ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 1, 1, 0), '๐ตฉ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 1, 1, 0), '๐ตช');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 1, 1, 0), '๐ตซ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 1, 1, 0), '๐ตฌ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 1, 1, 0), '๐ตญ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 1, 1, 0), '๐ตฎ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 1, 1, 0), '๐ตฏ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 1, 1, 0), '๐ตฐ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 0, 0, 1), '๐บ ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 0, 0, 1), '๐ตฑ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 0, 0, 1), '๐ตฒ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 0, 0, 1), '๐ตณ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 0, 0, 1), '๐ตด');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 0, 0, 1), '๐ตต');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 0, 0, 1), '๐ตถ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 0, 0, 1), '๐ตท');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 0, 0, 1), '๐ตธ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 0, 0, 1), '๐ตน');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 0, 0, 1), '๐ตบ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 0, 0, 1), '๐ตป');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 0, 0, 1), '๐ตผ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 0, 0, 1), '๐ตฝ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 0, 0, 1), '๐ตพ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 0, 0, 1), '๐ตฟ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 0, 0, 1), '๐ถ
');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 0, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 1, 0, 1), 'โ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 1, 0, 1), '๐ถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 1, 0, 1), '๐ถ ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 1, 0, 1), '๐ถก');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 1, 0, 1), '๐ถข');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 1, 0, 1), '๐ถฃ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 1, 0, 1), '๐ถค');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 1, 0, 1), '๐ถฅ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 1, 0, 1), '๐ถฆ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 1, 0, 1), '๐ถง');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 1, 0, 1), '๐ถจ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 1, 0, 1), '๐ถฉ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 1, 0, 1), '๐ถช');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 1, 0, 1), '๐ถซ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 0, 1, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 0, 1, 1), '๐ถฌ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 0, 1, 1), '๐ถญ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 0, 1, 1), '๐ถฎ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 0, 1, 1), '๐ถฏ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 0, 1, 1), '๐ถฐ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 0, 1, 1), '๐ถฑ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 0, 1, 1), '๐ถฒ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 0, 1, 1), '๐ถณ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 0, 1, 1), '๐ถด');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 0, 1, 1), '๐ถต');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 0, 1, 1), '๐ถถ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 0, 1, 1), '๐ถท');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 0, 1, 1), '๐ถธ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 0, 1, 1), '๐ถน');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 0, 1, 1), '๐ถบ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 0, 1, 1), '๐ถป');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 0, 1, 1), '๐ถผ');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 0, 1, 1), '๐ถฝ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 0, 1, 1), '๐ถพ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 0, 1, 1), '๐ถฟ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 0, 1, 1), '๐ท
');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 0, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 0, 0, 1, 1, 1, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 0, 0, 0, 1, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 1, 0, 0, 1, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 0, 0, 1, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(0, 0, 1, 0, 1, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 0, 1, 0, 1, 1, 1, 1), 'โ');
assert_eq!(get_symbol_octant_size(0, 1, 1, 0, 1, 1, 1, 1), '๐ท');
assert_eq!(get_symbol_octant_size(1, 1, 1, 0, 1, 1, 1, 1), '๐ท ');
assert_eq!(get_symbol_octant_size(0, 0, 0, 1, 1, 1, 1, 1), '๐ทก');
assert_eq!(get_symbol_octant_size(1, 0, 0, 1, 1, 1, 1, 1), '๐ทข');
assert_eq!(get_symbol_octant_size(0, 1, 0, 1, 1, 1, 1, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 1, 0, 1, 1, 1, 1, 1), '๐ทฃ');
assert_eq!(get_symbol_octant_size(0, 0, 1, 1, 1, 1, 1, 1), 'โ');
assert_eq!(get_symbol_octant_size(1, 0, 1, 1, 1, 1, 1, 1), '๐ทค');
assert_eq!(get_symbol_octant_size(0, 1, 1, 1, 1, 1, 1, 1), '๐ทฅ');
assert_eq!(get_symbol_octant_size(1, 1, 1, 1, 1, 1, 1, 1), 'โ');
Ok(())
}
#[test]
fn check_half_width_symbols() -> Result<()> {
assert_eq!(get_symbol_half_width(0, 0), ' ');
assert_eq!(get_symbol_half_width(1, 0), 'โ');
assert_eq!(get_symbol_half_width(0, 1), 'โ');
assert_eq!(get_symbol_half_width(1, 1), 'โ');
Ok(())
}
#[test]
fn check_half_height_symbols() -> Result<()> {
assert_eq!(get_symbol_half_height(0, 0), ' ');
assert_eq!(get_symbol_half_height(1, 0), 'โ');
assert_eq!(get_symbol_half_height(0, 1), 'โ');
assert_eq!(get_symbol_half_height(1, 1), 'โ');
Ok(())
}
#[test]
fn check_third_height_symbols() -> Result<()> {
assert_eq!(get_symbol_third_height(0, 0, 0), ' ');
assert_eq!(get_symbol_third_height(1, 0, 0), '๐ฌ');
assert_eq!(get_symbol_third_height(0, 1, 0), '๐ฌ');
assert_eq!(get_symbol_third_height(1, 1, 0), '๐ฌ');
assert_eq!(get_symbol_third_height(0, 0, 1), '๐ฌญ');
assert_eq!(get_symbol_third_height(1, 0, 1), '๐ฌฐ');
assert_eq!(get_symbol_third_height(0, 1, 1), '๐ฌน');
assert_eq!(get_symbol_third_height(1, 1, 1), 'โ');
Ok(())
}
#[test]
fn check_quarter_height_symbols() -> Result<()> {
assert_eq!(get_symbol_quarter_height(0, 0, 0, 0), ' ');
assert_eq!(get_symbol_quarter_height(1, 0, 0, 0), '๐ฎ');
assert_eq!(get_symbol_quarter_height(0, 1, 0, 0), '๐ด');
assert_eq!(get_symbol_quarter_height(1, 1, 0, 0), 'โ');
assert_eq!(get_symbol_quarter_height(0, 0, 1, 0), '๐ดง');
assert_eq!(get_symbol_quarter_height(1, 0, 1, 0), '๐ดช');
assert_eq!(get_symbol_quarter_height(0, 1, 1, 0), '๐ดณ');
assert_eq!(get_symbol_quarter_height(1, 1, 1, 0), '๐ฎ
');
assert_eq!(get_symbol_quarter_height(0, 0, 0, 1), 'โ');
assert_eq!(get_symbol_quarter_height(1, 0, 0, 1), '๐ถฎ');
assert_eq!(get_symbol_quarter_height(0, 1, 0, 1), '๐ถท');
assert_eq!(get_symbol_quarter_height(1, 1, 0, 1), '๐ถบ');
assert_eq!(get_symbol_quarter_height(0, 0, 1, 1), 'โ');
assert_eq!(get_symbol_quarter_height(1, 0, 1, 1), '๐ท');
assert_eq!(get_symbol_quarter_height(0, 1, 1, 1), 'โ');
assert_eq!(get_symbol_quarter_height(1, 1, 1, 1), 'โ');
Ok(())
}
#[test]
fn check_get_symbol_for_position_in_glyph_third_height_defensive_middle() -> Result<()> {
let glyph = [0xFFu8; 8];
assert_eq!(
PixelSize::ThirdHeight.symbol_for_position(&glyph, 7, 0),
'๐ฌ'
);
Ok(())
}
#[test]
fn check_get_symbol_for_position_in_glyph_sextant_size_defensive_middle() -> Result<()> {
let glyph = [0xFFu8; 8];
assert_eq!(PixelSize::Sextant.symbol_for_position(&glyph, 7, 0), '๐ฌ');
Ok(())
}
}