fn test()

in src/components/expanding.rs [57:96]


    fn test() -> anyhow::Result<()> {
        let expander = Expanding::new(Box::new(Echo::<Lines>::new(false)));
        let dims = Dimensions { x: 20, y: 20 };

        let longest_line: Line = vec!["Hello world"].try_into()?;
        let msg: Lines = vec![longest_line.clone(), vec!["foobar"].try_into()?];
        let result = expander.draw(&crate::state![&msg], dims, DrawMode::Normal)?;
        let expected = {
            let mut expected = msg;
            expected.justify();
            expected
        };
        assert_eq!(result, expected);

        // testing horizontal
        let now_longest: Line = vec!["foobar"].try_into()?;
        let msg: Lines = vec![vec!["H"].try_into()?, now_longest.clone()];
        let result = expander.draw(&crate::state![&msg], dims, DrawMode::Normal)?;
        let expected = {
            let mut expected = msg;
            expected.pad_lines_right(longest_line.len() - now_longest.len());
            expected
        };
        assert_eq!(result, expected);

        // testing vertical
        let msg: Lines = vec![now_longest];
        let result = expander.draw(&crate::state![&msg], dims, DrawMode::Normal)?;
        let expected = {
            let mut expected = msg;
            expected.set_lines_to_exact_dimensions(Dimensions {
                x: longest_line.len(),
                y: 2,
            });
            expected
        };
        assert_eq!(result, expected);

        Ok(())
    }