fn test_many_sized()

in src/components/splitting.rs [417:467]


        fn test_many_sized() {
            let splitter = Split::new(
                vec![
                    Box::new(Echo::<Echo1>::new(false)),
                    Box::new(Echo::<Echo2>::new(false)),
                    Box::new(Echo::<Echo3>::new(false)),
                ],
                Direction::Vertical,
                SplitKind::Sized(vec![0.25, 0.5, 0.25]),
            );
            let msg1 = Echo1(vec![
                vec!["line1"].try_into().unwrap(),
                vec!["line2"].try_into().unwrap(),
                vec!["line3"].try_into().unwrap(),
                vec!["line4"].try_into().unwrap(),
                vec!["line5"].try_into().unwrap(),
                vec!["line6"].try_into().unwrap(),
            ]);
            let msg2 = Echo2(vec![vec!["line7"].try_into().unwrap()]);
            let msg3 = Echo3(vec![vec!["line8"].try_into().unwrap()]);
            let state = crate::state!(&msg1, &msg2, &msg3);

            let output = splitter
                .draw(&state, Dimensions::new(20, 20), DrawMode::Normal)
                .unwrap();

            let expected = vec![
                vec!["line1"].try_into().unwrap(),
                vec!["line2"].try_into().unwrap(),
                vec!["line3"].try_into().unwrap(),
                vec!["line4"].try_into().unwrap(),
                vec!["line5"].try_into().unwrap(),
                vec!["line7"].try_into().unwrap(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
                vec!["line8"].try_into().unwrap(),
                Line::default(),
                Line::default(),
                Line::default(),
                Line::default(),
            ];

            assert_eq!(output, expected);
        }