use rat_widget::splitter::{SplitResize, SplitState};
#[test]
fn test_0() {
let mut sp = SplitState::new();
sp.resize = SplitResize::Neighbours;
sp.set_area_lengths(vec![]);
assert_eq!(sp.len(), 0);
assert_eq!(sp.area_lengths(), &[]);
assert_eq!(sp.hidden_lengths(), &[]);
assert_eq!(sp.total_area_len(), 0);
}
#[test]
fn test_1() {
let mut sp = SplitState::new();
sp.resize = SplitResize::Neighbours;
sp.set_area_lengths(vec![10]);
assert_eq!(sp.len(), 1);
assert_eq!(sp.area_lengths(), &[10]);
assert_eq!(sp.hidden_lengths(), &[0]);
assert_eq!(sp.total_area_len(), 10);
assert_eq!(sp.area_len(0), 10);
sp.set_area_len(0, 20);
assert_eq!(sp.area_len(0), 20);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.hide_split(0), false);
assert_eq!(sp.is_hidden(0), false);
sp.set_hidden_lengths(vec![5]);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.hidden_lengths(), &[0]);
assert_eq!(sp.area_lengths(), &[20]);
}
#[test]
fn test_2() {
let mut sp = SplitState::new();
sp.resize = SplitResize::Neighbours;
sp.set_area_lengths(vec![10, 10]);
assert_eq!(sp.len(), 2);
assert_eq!(sp.area_lengths(), &[10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.total_area_len(), 20);
assert_eq!(sp.area_len(0), 10);
sp.set_area_len(0, 20);
assert_eq!(sp.area_len(0), 20);
assert_eq!(sp.split_pos(0), 20);
sp.set_split_pos(0, 0);
assert_eq!(sp.area_lengths(), &[1, 29]);
sp.set_split_pos(0, 255);
assert_eq!(sp.area_lengths(), &[30, 0]);
sp.set_split_pos(0, 32768);
assert_eq!(sp.area_lengths(), &[30, 0]);
sp.set_split_pos(0, 1);
assert_eq!(sp.area_lengths(), &[1, 29]);
sp.set_split_pos(0, 20);
assert_eq!(sp.area_lengths(), &[20, 10]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.hide_split(0), true);
assert_eq!(sp.area_lengths(), &[1, 29]);
assert_eq!(sp.hidden_lengths(), &[19, 0]);
assert_eq!(sp.is_hidden(0), true);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.area_lengths(), &[20, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.is_hidden(1), false);
assert_eq!(sp.hide_split(1), true);
assert_eq!(sp.area_lengths(), &[30, 0]);
assert_eq!(sp.hidden_lengths(), &[0, 10]);
assert_eq!(sp.is_hidden(1), true);
assert_eq!(sp.show_split(1), true);
assert_eq!(sp.area_lengths(), &[20, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.is_hidden(1), false);
sp.set_hidden_lengths(vec![0, 5]);
assert_eq!(sp.show_split(1), true);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.area_lengths(), &[15, 15]);
sp.set_hidden_lengths(vec![5, 0]);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.area_lengths(), &[20, 10]);
sp.set_hidden_lengths(vec![255, 0]);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.hidden_lengths(), &[0, 0]);
assert_eq!(sp.area_lengths(), &[29, 1]);
}
#[test]
fn test_3() {
let mut sp = SplitState::new();
sp.resize = SplitResize::Neighbours;
sp.set_area_lengths(vec![10, 10, 10]);
assert_eq!(sp.len(), 3);
assert_eq!(sp.area_lengths(), &[10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.total_area_len(), 30);
assert_eq!(sp.area_len(0), 10);
sp.set_area_len(0, 20);
assert_eq!(sp.area_len(0), 20);
assert_eq!(sp.split_pos(0), 20);
sp.set_split_pos(0, 0);
assert_eq!(sp.area_lengths(), &[1, 29, 10]);
sp.set_split_pos(0, 255);
assert_eq!(sp.area_lengths(), &[29, 1, 10]);
sp.set_split_pos(0, 32768);
assert_eq!(sp.area_lengths(), &[29, 1, 10]);
sp.set_split_pos(0, 1);
assert_eq!(sp.area_lengths(), &[1, 29, 10]);
sp.set_split_pos(0, 20);
assert_eq!(sp.area_lengths(), &[20, 10, 10]);
sp.set_split_pos(1, 25);
assert_eq!(sp.area_lengths(), &[20, 5, 15]);
sp.set_split_pos(1, 20);
assert_eq!(sp.area_lengths(), &[20, 1, 19]);
sp.set_split_pos(1, 15);
assert_eq!(sp.area_lengths(), &[20, 1, 19]);
sp.set_split_pos(1, 0);
assert_eq!(sp.area_lengths(), &[20, 1, 19]);
sp.set_split_pos(1, 1);
assert_eq!(sp.area_lengths(), &[20, 1, 19]);
sp.set_split_pos(1, 25);
assert_eq!(sp.area_lengths(), &[20, 5, 15]);
sp.set_split_pos(1, 39);
assert_eq!(sp.area_lengths(), &[20, 19, 1]);
sp.set_split_pos(1, 40);
assert_eq!(sp.area_lengths(), &[20, 20, 0]);
sp.set_split_pos(1, 41);
assert_eq!(sp.area_lengths(), &[20, 20, 0]);
sp.set_split_pos(1, 25);
assert_eq!(sp.area_lengths(), &[20, 5, 15]);
sp.set_split_pos(1, 255);
assert_eq!(sp.area_lengths(), &[20, 20, 0]);
sp.set_split_pos(0, 20);
sp.set_split_pos(1, 30);
assert_eq!(sp.area_lengths(), &[20, 10, 10]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.hide_split(0), true);
assert_eq!(sp.area_lengths(), &[1, 29, 10]);
assert_eq!(sp.hidden_lengths(), &[19, 0, 0]);
assert_eq!(sp.is_hidden(0), true);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.area_lengths(), &[20, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.is_hidden(1), false);
assert_eq!(sp.hide_split(1), true);
assert_eq!(sp.area_lengths(), &[20, 1, 19]);
assert_eq!(sp.hidden_lengths(), &[0, 9, 0]);
assert_eq!(sp.is_hidden(1), true);
assert_eq!(sp.show_split(1), true);
assert_eq!(sp.area_lengths(), &[20, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.is_hidden(1), false);
sp.set_hidden_lengths(vec![0, 5, 0]);
assert_eq!(sp.show_split(1), true);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.area_lengths(), &[20, 15, 5]);
sp.set_hidden_lengths(vec![5, 0, 0]);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.area_lengths(), &[25, 10, 5]);
sp.set_hidden_lengths(vec![255, 0, 0]);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0]);
assert_eq!(sp.area_lengths(), &[38, 1, 1]);
}
#[test]
fn test_4() {
let mut sp = SplitState::new();
sp.resize = SplitResize::Neighbours;
sp.set_area_lengths(vec![10, 10, 10, 10]);
assert_eq!(sp.len(), 4);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 0]);
assert_eq!(sp.total_area_len(), 40);
sp.set_area_lengths(vec![10, 10, 10, 10]);
sp.set_split_pos(0, 0);
assert_eq!(sp.area_lengths(), &[1, 19, 10, 10]);
sp.set_split_pos(0, 255);
assert_eq!(sp.area_lengths(), &[19, 1, 10, 10]);
sp.set_split_pos(0, 32768);
assert_eq!(sp.area_lengths(), &[19, 1, 10, 10]);
sp.set_split_pos(0, 1);
assert_eq!(sp.area_lengths(), &[1, 19, 10, 10]);
sp.set_split_pos(0, 10);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
sp.set_area_lengths(vec![10, 10, 10, 10]);
sp.set_split_pos(1, 15);
assert_eq!(sp.area_lengths(), &[10, 5, 15, 10]);
sp.set_split_pos(1, 20);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
sp.set_split_pos(1, 15);
assert_eq!(sp.area_lengths(), &[10, 5, 15, 10]);
sp.set_split_pos(1, 0);
assert_eq!(sp.area_lengths(), &[10, 1, 19, 10]);
sp.set_split_pos(1, 1);
assert_eq!(sp.area_lengths(), &[10, 1, 19, 10]);
sp.set_split_pos(1, 25);
assert_eq!(sp.area_lengths(), &[10, 15, 5, 10]);
sp.set_split_pos(1, 39);
assert_eq!(sp.area_lengths(), &[10, 19, 1, 10]);
sp.set_split_pos(1, 40);
assert_eq!(sp.area_lengths(), &[10, 19, 1, 10]);
sp.set_split_pos(1, 41);
assert_eq!(sp.area_lengths(), &[10, 19, 1, 10]);
sp.set_split_pos(1, 25);
assert_eq!(sp.area_lengths(), &[10, 15, 5, 10]);
sp.set_split_pos(1, 255);
assert_eq!(sp.area_lengths(), &[10, 19, 1, 10]);
sp.set_area_lengths(vec![10, 10, 10, 10]);
sp.set_split_pos(2, 15);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
sp.set_split_pos(2, 20);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
sp.set_split_pos(2, 15);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
sp.set_split_pos(2, 0);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
sp.set_split_pos(2, 1);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
sp.set_split_pos(2, 25);
assert_eq!(sp.area_lengths(), &[10, 10, 5, 15]);
sp.set_split_pos(2, 39);
assert_eq!(sp.area_lengths(), &[10, 10, 19, 1]);
sp.set_split_pos(2, 40);
assert_eq!(sp.area_lengths(), &[10, 10, 20, 0]);
sp.set_split_pos(2, 41);
assert_eq!(sp.area_lengths(), &[10, 10, 20, 0]);
sp.set_split_pos(2, 25);
assert_eq!(sp.area_lengths(), &[10, 10, 5, 15]);
sp.set_split_pos(2, 255);
assert_eq!(sp.area_lengths(), &[10, 10, 20, 0]);
sp.set_area_lengths(vec![10, 10, 10, 10]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.hide_split(0), true);
assert_eq!(sp.area_lengths(), &[1, 19, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[9, 0, 0, 0]);
assert_eq!(sp.is_hidden(0), true);
assert_eq!(sp.show_split(0), true);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 0]);
assert_eq!(sp.is_hidden(0), false);
assert_eq!(sp.is_hidden(1), false);
assert_eq!(sp.hide_split(1), true);
assert_eq!(sp.area_lengths(), &[10, 1, 19, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 9, 0, 0]);
assert_eq!(sp.is_hidden(1), true);
assert_eq!(sp.show_split(1), true);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 0]);
assert_eq!(sp.is_hidden(1), false);
assert_eq!(sp.is_hidden(2), false);
assert_eq!(sp.hide_split(2), true);
assert_eq!(sp.area_lengths(), &[10, 10, 1, 19]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 9, 0]);
assert_eq!(sp.is_hidden(2), true);
assert_eq!(sp.show_split(2), true);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 0]);
assert_eq!(sp.is_hidden(2), false);
assert_eq!(sp.is_hidden(3), false);
assert_eq!(sp.hide_split(3), true);
assert_eq!(sp.area_lengths(), &[10, 10, 20, 0]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 10]);
assert_eq!(sp.is_hidden(3), true);
assert_eq!(sp.show_split(3), true);
assert_eq!(sp.area_lengths(), &[10, 10, 10, 10]);
assert_eq!(sp.hidden_lengths(), &[0, 0, 0, 0]);
assert_eq!(sp.is_hidden(3), false);
}