Example #1
0
        public void execute_a_file()
        {
            var executor      = Substitute.For <ISqlExecutor>();
            var batchExecutor = new SqlFileExecutor(new SqlParser(), executor);
            var path          = CreateFile("Foo.txt", "Foo");

            batchExecutor.ExecuteFile(path);
            executor.Received().Execute(Arg.Is <IEnumerable <string> >(e => e.SequenceEqual(new[] { "Foo" })));
            DeleteFile(path);
        }
Example #2
0
        public void execute_a_directory_filtering_files()
        {
            var executor      = Substitute.For <ISqlExecutor>();
            var batchExecutor = new SqlFileExecutor(new SqlParser(), executor);

            CreateFile("Foo\\Bar.txt", "Bar");
            CreateFile("Foo\\Baz.txt", "Baz");
            CreateFile("Foo\\Qux\\Quux.txt", "Quux");
            var directory = Path.Combine(_directory, "Foo");
            Predicate <string> predicate = file => Path.GetFileName(file) != "Quux.txt";

            batchExecutor.ExecuteFiles(directory, predicate);
            executor.Received(2).Execute(Arg.Any <IEnumerable <string> >());
            var receivedCalls = executor.ReceivedCalls();

            receivedCalls.Any(call => ((IEnumerable <string>)call.GetArguments()[0]).SequenceEqual(new[] { "Bar" })).Should().BeTrue();
            receivedCalls.Any(call => ((IEnumerable <string>)call.GetArguments()[0]).SequenceEqual(new[] { "Baz" })).Should().BeTrue();
            DeleteDirectory(directory);
        }