use lazy_static::lazy_static;
use crate::extract::extract_tests::TestFile;
lazy_static! {
    pub static ref TEST_FILES: Vec<TestFile<'static>> = vec![
        TestFile::new(
            "argument_and_locals",
            37,
            57,
        ),
        TestFile::new(
            "argument_form_expr",
            37,
            40,
        ),
        TestFile::new(
            "argument_used_twice_form_expr",
            37,
            40,
        ),
        TestFile::new(
            "break_from_nested_and_outer_loops",
            49,
            176,
        ),
        TestFile::new(
            "break_from_nested_loop",
            49,
            126,
        ),
        TestFile::new(
            "break_loop",
            49,
            97,
        ),
        TestFile::new(
            "break_loop_nested",
            53,
            117,
        ),
        TestFile::new(
            "break_loop_nested_labeled",
            55,
            66,
        ),
        TestFile::new(
            "break_loop_with_if",
            53,
            98,
        ),
        TestFile::new(
            "break_stmt",
            44,
            55,
        ),
        TestFile::new(
            "break_with_value",
            56,
            141,
        ),
        TestFile::new(
            "break_with_value_and_label",
            62,
            152,
        ),
        TestFile::new(
            "break_with_value_and_return",
            47,
            141,
        ),
        TestFile::new(
            "closure_arguments",
            54,
            85,
        ),
        TestFile::new(
            "comments_in_block_expr",
            21,
            126,
        ),
        TestFile::new(
            "continue_loop_nested_labeled",
            55,
            69,
        ),
        TestFile::new(
            "copy_custom_used_after",
            83,
            95,
        ),
        TestFile::new(
            "copy_used_after",
            30,
            40,
        ),
        TestFile::new(
            "does_not_add_extra_whitespace",
            24,
            36,
        ),
        TestFile::new(
            "does_not_import_control_flow",
            16,
            43,
        ),
        TestFile::new(
            "dont_emit_type_with_hidden_lifetime_parameter",
            71,
            78,
        ),
        TestFile::new(
            "empty_generic_param_list",
            50,
            57,
        ),
        TestFile::new(
            "extract_cast",
            24,
            35,
        ),
        TestFile::new(
            "extract_does_not_tear_body_apart",
            15,
            23,
        ),
        TestFile::new(
            "extract_does_not_tear_comments_apart",
            17,
            48,
        ),
        TestFile::new(
            "extract_does_not_wrap_res_in_res",
            34,
            72,
        ),
        TestFile::new(
            "extract_from_nested",
            73,
            78,
        ),
        TestFile::new(
            "extract_function_copies_comment_at_end",
            31,
            62,
        ),
        TestFile::new(
            "extract_function_copies_comment_at_start",
            31,
            62,
        ),
        TestFile::new(
            "extract_function_copies_comment_in_between",
            26,
            77,
        ),
        TestFile::new(
            "extract_function_copies_comment_indented",
            31,
            90,
        ),
        TestFile::new(
            "extract_function_does_preserve_whitespace",
            31,
            57,
        ),
        TestFile::new(
            "extract_function_from_trait_with_existing_non_empty_impl_block",
            175,
            180,
        ),
        TestFile::new(
            "extract_function_long_form_comment",
            31,
            61,
        ),
        TestFile::new(
            "extract_method_from_trait_impl",
            122,
            132,
        ),
        TestFile::new(
            "extract_method_from_trait_with_existing_non_empty_impl_block",
            155,
            165,
        ),
        TestFile::new(
            "extract_method_from_trait_with_multiple_existing_impl_blocks",
            280,
            290,
        ),
        TestFile::new(
            "extract_method_from_trait_with_multiple_existing_trait_impl_blocks",
            412,
            422,
        ),
        TestFile::new(
            "extract_mut_ref_param_has_no_mut_binding_in_loop",
            132,
            140,
        ),
        TestFile::new(
            "extract_partial_block",
            59,
            82,
        ),
        TestFile::new(
            "extract_partial_block_single_line",
            42,
            48,
        ),
        TestFile::new(
            "extract_return_stmt",
            22,
            34,
        ),
        TestFile::new(
            "extract_with_await",
            16,
            38,
        ),
        TestFile::new(
            "extract_with_await_and_result_not_producing_match_expr",
            39,
            67,
        ),
        TestFile::new(
            "extract_with_await_and_result_producing_match_expr",
            53,
            163,
        ),
        TestFile::new(
            "extract_with_await_in_args",
            16,
            58,
        ),
        TestFile::new(
            "extract_with_macro_arg",
            22,
            30,
        ),
        TestFile::new(
            "filter_unused_generics",
            57,
            64,
        ),
        TestFile::new(
            "filter_unused_where_clause",
            68,
            75,
        ),
        TestFile::new(
            "filters_unused_nested_generics",
            177,
            196,
        ),
        TestFile::new(
            "filters_unused_nested_where_clauses",
            207,
            226,
        ),
        TestFile::new(
            "function_expr",
            15,
            25,
        ),
        TestFile::new(
            "indented_stmts",
            52,
            85,
        ),
        TestFile::new(
            "indented_stmts_inside_mod",
            78,
            115,
        ),
        TestFile::new(
            "it_should_not_generate_duplicate_function_names",
            20,
            30,
        ),
        TestFile::new(
            "method_to_freestanding",
            55,
            58,
        ),
        TestFile::new(
            "method_with_mut",
            63,
            75,
        ),
        TestFile::new(
            "method_with_reference",
            66,
            79,
        ),
        TestFile::new(
            "multi_variables_defined_inside_and_used_after_mutably_no_ret",
            30,
            106,
        ),
        TestFile::new(
            "mut_field_from_outer_scope",
            63,
            72,
        ),
        TestFile::new(
            "mut_method_call",
            125,
            133,
        ),
        TestFile::new(
            "mut_nested_field_from_outer_scope",
            159,
            198,
        ),
        TestFile::new(
            "mut_param_because_of_mut_ref",
            34,
            62,
        ),
        TestFile::new(
            "mut_param_many_usages_expr",
            226,
            400,
        ),
        TestFile::new(
            "mut_param_many_usages_stmt",
            226,
            352,
        ),
        TestFile::new(
            "mut_var_from_outer_scope",
            34,
            41,
        ),
        TestFile::new(
            "nested_generics",
            151,
            170,
        ),
        TestFile::new(
            "nested_where_clauses",
            175,
            194,
        ),
        TestFile::new(
            "no_args_for",
            15,
            35,
        ),
        TestFile::new(
            "no_args_from_binary_expr",
            19,
            24,
        ),
        TestFile::new(
            "no_args_from_binary_expr_in_module",
            37,
            42,
        ),
        TestFile::new(
            "no_args_from_binary_expr_indented",
            15,
            24,
        ),
        TestFile::new(
            "no_args_from_loop_unit",
            15,
            46,
        ),
        TestFile::new(
            "no_args_from_loop_with_return",
            23,
            71,
        ),
        TestFile::new(
            "no_args_from_match",
            28,
            90,
        ),
        TestFile::new(
            "no_args_from_stmt_unit",
            30,
            59,
        ),
        TestFile::new(
            "no_args_from_stmt_with_last_expr",
            37,
            57,
        ),
        TestFile::new(
            "no_args_if",
            15,
            26,
        ),
        TestFile::new(
            "no_args_if_else",
            22,
            46,
        ),
        TestFile::new(
            "no_args_if_let_else",
            22,
            58,
        ),
        TestFile::new(
            "no_args_match",
            22,
            79,
        ),
        TestFile::new(
            "no_args_while",
            15,
            29,
        ),
        TestFile::new(
            "non_tail_expr_of_tail_expr_loop",
            32,
            73,
        ),
        TestFile::new(
            "non_tail_expr_of_tail_if_block",
            53,
            126,
        ),
        TestFile::new(
            "non_tail_expr_with_comment_of_tail_expr_loop",
            32,
            94,
        ),
        TestFile::new(
            "nontrivial_patterns_define_variables",
            36,
            64,
        ),
        TestFile::new(
            "param_from_closure",
            38,
            43,
        ),
        TestFile::new(
            "param_usage_in_macro",
            85,
            103,
        ),
        TestFile::new(
            "param_usage_in_macro_with_nested_tt",
            94,
            102,
        ),
        TestFile::new(
            "param_usage_in_macro_with_nested_tt_2",
            120,
            153,
        ),
        TestFile::new(
            "part_of_expr_stmt",
            15,
            16,
        ),
        TestFile::new(
            "preserve_generics",
            30,
            37,
        ),
        TestFile::new(
            "preserve_generics_from_body",
            33,
            45,
        ),
        TestFile::new(
            "preserve_where_clause",
            38,
            45,
        ),
        TestFile::new(
            "reference_mutable_param_with_further_usages",
            71,
            85,
        ),
        TestFile::new(
            "reference_mutable_param_without_further_usages",
            71,
            85,
        ),
        TestFile::new(
            "return_from_nested_fn",
            49,
            132,
        ),
        TestFile::new(
            "return_from_nested_loop",
            40,
            127,
        ),
        TestFile::new(
            "return_to_parent",
            37,
            80,
        ),
        TestFile::new(
            "should_increment_suffix_until_it_finds_space",
            55,
            65,
        ),
        TestFile::new(
            "struct_with_two_fields_pattern_define_variables",
            50,
            99,
        ),
        TestFile::new(
            "tail_expr_no_extra_control_flow",
            38,
            88,
        ),
        TestFile::new(
            "tail_expr_of_tail_block_nested",
            45,
            187,
        ),
        TestFile::new(
            "try_and_return_ok",
            49,
            128,
        ),
        TestFile::new(
            "try_option",
            82,
            116,
        ),
        TestFile::new(
            "try_option_unit",
            44,
            78,
        ),
        TestFile::new(
            "try_option_with_return",
            44,
            122,
        ),
        TestFile::new(
            "try_result",
            49,
            83,
        ),
        TestFile::new(
            "try_result_with_return",
            49,
            129,
        ),
        TestFile::new(
            "two_arguments_form_expr",
            52,
            57,
        ),
        TestFile::new(
            "two_variables_defined_inside_and_used_after_no_ret",
            30,
            63,
        ),
        TestFile::new(
            "unresolveable_types_default_to_placeholder",
            49,
            52,
        ),
        TestFile::new(
            "variable_defined_inside_and_used_after_mutably_no_ret",
            30,
            48,
        ),
        TestFile::new(
            "variable_defined_inside_and_used_after_no_ret",
            30,
            44,
        ),
    ];
}
