Esempio n. 1
0
        public void ParseArguments()
        {
            PakuArguments args    = new PakuArguments();
            OptionSet     options = args.BuildOptionSet();

            Assert.IsNotNull(options);

            // 5 main options plus a help menu
            Assert.AreEqual(6, options.Count);

            // attempt to parse arguments and ensure that options were set correctly
            args = new PakuArguments();
            bool success = args.Parse(new string[] { @"--dir=C:\foo", "--select:regex=foo", "--filter:age=cdate>30m", "--paku:delete=bar", "--log" });

            Assert.IsTrue(success);
            Assert.IsNotNull(args.Directory);
            Assert.IsNotNull(args.SelectionStrategy);
            Assert.IsNotNull(args.FilterStrategy);
            Assert.IsNotNull(args.PakuStrategy);
            Assert.IsTrue(args.LoggingEnabled);

            // missing arguments
            args    = new PakuArguments();
            success = args.Parse(new string[] { "--selection:regex=foo" });
            Assert.IsFalse(success);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            PakuArguments arguments    = new PakuArguments();
            bool          parseSuccess = arguments.Parse(args);

            if (arguments.Directory == null)
            {
                arguments.Directory = Directory.GetCurrentDirectory();
            }

            if (parseSuccess)
            {
                Console.WriteLine($"Removing files from: {arguments.Directory}");
                Console.WriteLine();

                Pipeline pipeline = new Pipeline(arguments.SelectionStrategy.Item1, arguments.FilterStrategy.Item1, arguments.PakuStrategy.Item1);
                pipeline.Execute(arguments.Directory, arguments.SelectionStrategy.Item2, arguments.FilterStrategy.Item2, arguments.PakuStrategy.Item2, arguments.LoggingEnabled);
            }
        }