// Given the tool was run once and there have been no changes since
// When the command is run
// The dependencies don't change
Given the tool was run once and there have been no changes since
When the command is run
The dependencies don't change
Given the tool was run once and there have been no changes since When the command is run The dependencies don ' t change
fn tool_is_idempotent() {
    let test_deps = test_deps();
    let Layout{dep_srcs_dir, proj_dir, deps_file_conts, ..} =
        test_setup::create(
            "tool_is_idempotent",
            &test_deps,
            &hashmap!{"my_scripts" => 1},
        );
    let cmd_result = test_setup::with_git_server(
        dep_srcs_dir,
        || {
            let mut cmd = test_setup::new_test_cmd(proj_dir.clone());
            cmd.assert()
                .code(0)
                .stdout("")
                .stderr("");
            let mut cmd = test_setup::new_test_cmd(proj_dir.clone());
            cmd.assert()
        },
    );
    cmd_result.code(0).stdout("").stderr("");
    fs_check::assert_contents(
        &proj_dir,
        &Node::Dir(hashmap!{
            "dpnd.txt" => Node::File(&deps_file_conts),
            "deps" => Node::Dir(hashmap!{
                "current_dpnd.txt" => Node::AnyFile,
                "my_scripts" => Node::Dir(hashmap!{
                    ".git" => Node::AnyDir,
                    "script.sh" => Node::File("echo 'hello, world!'"),
                }),
            }),
        }),
    );
}
fn tool_is_idempotent ( ) { let test_deps = test_deps ( ) ; let Layout { dep_srcs_dir , proj_dir , deps_file_conts , .. } = test_setup :: create ( " " , & test_deps , & hashmap ! { " " 1 } , ) ; let cmd_result = test_setup :: with_git_server ( dep_srcs_dir , | | { let mut cmd = test_setup :: new_test_cmd ( proj_dir . clone ( ) ) ; cmd . assert ( ) . code ( 0 ) . stdout ( " " ) . stderr ( " " ) ; let mut cmd = test_setup :: new_test_cmd ( proj_dir . clone ( ) ) ; cmd . assert ( ) } , ) ; cmd_result . code ( 0 ) . stdout ( " " ) . stderr ( " " ) ; fs_check :: assert_contents ( & proj_dir , & Node :: Dir ( hashmap ! { " " Node File ( deps_file_conts ) " " Node Dir ( hashmap { " " Node AnyFile " " Node Dir ( hashmap { " " Node AnyDir " " Node File ( " " ) } ) } ) } ) , ) ; }
Given the tool was run once and there have been no changes since
When the command is run
The dependencies don't change
Given the tool was run once and there have been no changes since When the command is run The dependencies don ' t change