iocore 2.0.3

I/O Core Utilities
Documentation
#[cfg(test)]
mod test_very_specific_ordering_files {
    use iocore::Path;
    use iocore_test::path_to_test_file;
    #[test]
    fn test_paths_should_be_ordered_alphabetically() {
        let mut paths = vec![
            path_to_test_file!("zzzzz"),
            path_to_test_file!("mmmmm"),
            path_to_test_file!("nnnnn"),
            path_to_test_file!("aaaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/test_paths_should_be_ordered_alphabetically/aaaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/test_paths_should_be_ordered_alphabetically/mmmmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/test_paths_should_be_ordered_alphabetically/nnnnn"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/test_paths_should_be_ordered_alphabetically/zzzzz"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_length() {
        let mut paths = vec![
            path_to_test_file!("mmmmm"),
            path_to_test_file!("mmm"),
            path_to_test_file!("aaa"),
            path_to_test_file!("aaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_length/aaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_length/aaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_length/mmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_length/mmmmm"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_depth_of_folders() {
        let mut paths = vec![
            path_to_test_file!("abcdefg"),
            path_to_test_file!("nopqrst"),
            path_to_test_file!("a/bcdefg"),
            path_to_test_file!("no/pqrst"),
            path_to_test_file!("u/v/w/x/y"),
            path_to_test_file!("uv/wx/y"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/abcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/nopqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/a/bcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/no/pqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/uv/wx/y"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files/but_paths_should_be_ordered_by_depth_of_folders/u/v/w/x/y"),
            ]
        );
    }
}
#[cfg(test)]
mod test_very_specific_ordering_folders {
    use iocore::Path;
    use iocore_test::path_to_test_folder;
    #[test]
    fn test_paths_should_be_ordered_alphabetically() {
        let mut paths = vec![
            path_to_test_folder!("zzzzz"),
            path_to_test_folder!("mmmmm"),
            path_to_test_folder!("nnnnn"),
            path_to_test_folder!("aaaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/test_paths_should_be_ordered_alphabetically/aaaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/test_paths_should_be_ordered_alphabetically/mmmmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/test_paths_should_be_ordered_alphabetically/nnnnn"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/test_paths_should_be_ordered_alphabetically/zzzzz"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_length() {
        let mut paths = vec![
            path_to_test_folder!("mmmmm"),
            path_to_test_folder!("mmm"),
            path_to_test_folder!("aaa"),
            path_to_test_folder!("aaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_length/aaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_length/aaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_length/mmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_length/mmmmm"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_depth_of_folders() {
        let mut paths = vec![
            path_to_test_folder!("abcdefg"),
            path_to_test_folder!("nopqrst"),
            path_to_test_folder!("a/bcdefg"),
            path_to_test_folder!("no/pqrst"),
            path_to_test_folder!("u/v/w/x/y"),
            path_to_test_folder!("uv/wx/y"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/abcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/nopqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/a/bcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/no/pqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/uv/wx/y"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_folders/but_paths_should_be_ordered_by_depth_of_folders/u/v/w/x/y"),
            ]
        );
    }
}

#[cfg(test)]
mod test_very_specific_ordering_files_and_dictories {
    use iocore::Path;
    use iocore_test::{path_to_test_file, path_to_test_folder};
    #[test]
    fn test_paths_should_be_ordered_alphabetically() {
        let mut paths = vec![
            path_to_test_file!("zzzzz"),
            path_to_test_file!("mmmmm/mmmmm"),
            path_to_test_folder!("mmmmm"),
            path_to_test_folder!("nnnnn"),
            path_to_test_file!("nnnnn/nnnn"),
            path_to_test_file!("aaaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/aaaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/mmmmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/nnnnn"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/zzzzz"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/mmmmm/mmmmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/test_paths_should_be_ordered_alphabetically/nnnnn/nnnn"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_length() {
        let mut paths = vec![
            path_to_test_file!("mmmmm"),
            path_to_test_folder!("mmm"),
            path_to_test_file!("aaa"),
            path_to_test_folder!("aaaa"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_length/aaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_length/aaaa"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_length/mmm"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_length/mmmmm"),
            ]
        );
    }
    #[test]
    fn but_paths_should_be_ordered_by_depth_of_folders() {
        let mut paths = vec![
            path_to_test_file!("abcdefg"),
            path_to_test_file!("nopqrst"),
            path_to_test_file!("a/bcdefg"),
            path_to_test_folder!("a"),
            path_to_test_file!("no/pqrst"),
            path_to_test_folder!("u"),
            path_to_test_folder!("u/v"),
            path_to_test_folder!("u/v/w"),
            path_to_test_folder!("u/v/w/x"),
            path_to_test_file!("u/v/w/x/y"),
            path_to_test_file!("uv/wx/y"),
        ];
        paths.sort();
        assert_eq!(
            paths,
            vec![
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/a"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/u"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/abcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/nopqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/u/v"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/a/bcdefg"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/no/pqrst"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/u/v/w"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/u/v/w/x"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/uv/wx/y"),
                Path::raw("tests/__test_files__/test_path_cmp/test_very_specific_ordering_files_and_dictories/but_paths_should_be_ordered_by_depth_of_folders/u/v/w/x/y"),
            ]
        );
    }
}