public void StCopyFileTest4()
        {
            var target = new FileComponentCopyFileStub();

            Assert.Equal(Value.Empty, target.Eval("[File copy.file(\"path\\subdir1\\file1.txt\", \"path2\\file2.txt\", true)]"));
            Assert.True(target.CmpPaths("path2", target.destDir));
            Assert.True(target.CmpPaths("file2.txt", target.destFile));
            Assert.True(target.overwrite);
            Assert.Single(target.files);
            Assert.True(target.CmpPaths("path\\subdir1\\file1.txt", target.files[0]));
        }
        public void StCopyFileTest2()
        {
            var target = new FileComponentCopyFileStub();

            Assert.Throws <ArgumentException>(() =>
                                              target.Eval("[File copy.file(\"src\", \"dest\", false, {\"src\"})]")
                                              );

            target.Eval("[File copy.file(\"src\", \"dest\", false, {\"notexists\"})]");
            Assert.Throws <PMArgException>(() =>
                                           target.Eval("[File copy.file(\"src\", \"dest\", false, {\"notexists\", false})]")
                                           );


            Assert.Equal(Value.Empty, target.Eval("[File copy.file(\"path\\subdir1\\file1.txt\", \"path2\\file2.txt\", true)]"));
            Assert.Throws <ArgumentException>(() =>
                                              Assert.Equal(Value.Empty, target.Eval("[File copy.file(\"path\\subdir1\\file1.txt\", \"path2\\file2.txt\", true, {\"file1.txt\"})]"))
                                              );
        }