Exemplo n.º 1
0
        public void TestMp3Data()
        {
            string format   = "Testing - %a - %b - %c - %g - %y - %%.mp3";
            string expected = "Testing - Artist - Album - Comment - Genre - Year - %.mp3";

            var    strategy = new MP3Strategy(format);
            var    helper   = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
            string result   = strategy.RenameFile(CreateFileMetaData("test"), 0, helper);

            Assert.AreEqual(expected, result);

            // Now test other parts
            format   = "Position test %p.mp3";
            expected = "Position test 99.mp3";
            strategy.FormatString = format;
            result = strategy.RenameFile(CreateFileMetaData("test"), 99, helper);
            Assert.AreEqual(expected, result);


            // Name and extension
            format   = "Extension test %f - %n - %x";
            expected = "Extension test test.mp3 - test - mp3.mp3";
            strategy.FormatString = format;
            result = strategy.RenameFile(CreateFileMetaData("test.mp3"), 99, helper);
            Assert.AreEqual(expected, result);
        }
Exemplo n.º 2
0
        public void TestNameExtensionHelper()
        {
            var row = TestContext.DataRow;

            // extract csv data
            string name        = row["Name"].ToString();
            string extension   = row["Extension"].ToString();
            int    expectedPos = Int32.Parse(row["ExpectedPos"].ToString());
            bool   hasExt      = row["HasExt"].ToString() == "Y";
            string behaviour   = row["Behaviour"].ToString();

            string filename = hasExt ? name + "." + extension : name;

            NameExtensionHelper helper;

            switch (behaviour)
            {
            case "N":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
                break;

            case "X":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.ExtensionOnly);
                break;

            default:     // Normally use "B" in csv file
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.BothNameExtension);
                break;
            }

            helper.Text = filename;
            Assert.AreEqual(expectedPos, helper.ExtensionPos);
        }
Exemplo n.º 3
0
        public void TestNumberingStrategySequential()
        {
            NumberingStrategy strategy = new NumberingStrategy(NumberingFormat.NoZeros, NumberingTextFormat.TextNumber, "5", "Test");
            var    helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
            var    file   = CreateFileMetaData("test.txt");
            string result = strategy.RenameFile(file, 4, helper);

            Assert.AreEqual("Test9.txt", result);
        }
Exemplo n.º 4
0
        public void TestNumberingStrategy()
        {
            var row = TestContext.DataRow;

            // extract csv data
            string              name       = row["Name"].ToString();
            string              extension  = row["Extension"].ToString();
            int                 number     = Int32.Parse(row["Number"].ToString());
            NumberingFormat     format     = (NumberingFormat)Int32.Parse(row["Format"].ToString());
            NumberingTextFormat textformat = (NumberingTextFormat)Int32.Parse(row["TextFormat"].ToString());
            string              text       = row["Text"].ToString();
            string              expected   = row["Expected"].ToString();

            NumberingStrategy   strategy = new NumberingStrategy(format, textformat, "0", text);
            NameExtensionHelper helper   = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
            IFileMetaData       file     = CreateFileMetaData(name + "." + extension);

            string result = strategy.RenameFile(file, number, helper);

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 5
0
        public MainWindowViewModel(string[] Files)
        {
            //base.DisplayName = Strings.MainWindowViewModel_DisplayName;

            //_customerRepository = new CustomerRepository(customerDataFile);
            _helpers = new NameExtensionHelper[] {
                NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly),
                NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.ExtensionOnly),
                NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.BothNameExtension)
            };

            _renamerModel = new RenamerModel(Files.Select(name => (IFileMetaData) new FileMetaData(name)).ToList());

            _move = new CommandViewModel("Move", new RelayCommand(param => this.Move(param)));

            FileList = new FileListViewModel(_renamerModel, _move);
            _renamerModel.StrategyChanged += FileList.OnStrategyChanged;
            _renamerModel.FilesChanged    += FileList.OnStrategyChanged;
            _renamerModel.Helper           = _helpers[0];
            SelectedStrategy = 0;
        }
Exemplo n.º 6
0
        public void TestRemoveCharactersStrategy()
        {
            var row = TestContext.DataRow;

            // extract csv data
            string name      = row["Name"].ToString();
            string extension = row["Extension"].ToString();
            int    from      = Int32.Parse(row["From"].ToString());
            int    to        = Int32.Parse(row["To"].ToString());
            bool   fromLeft  = row["FromLeft"].ToString() == "Y";
            bool   toLeft    = row["ToLeft"].ToString() == "Y";
            string expected  = row["Expected"].ToString();
            string behaviour = row["Behaviour"].ToString();

            NameExtensionHelper helper;

            switch (behaviour)
            {
            case "N":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
                break;

            case "X":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.ExtensionOnly);
                break;

            default:     // Normally use "B" in csv file
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.BothNameExtension);
                break;
            }

            RemoveCharactersStrategy strategy = new RemoveCharactersStrategy(from, fromLeft, to, toLeft);
            IFileMetaData            file     = CreateFileMetaData(name + "." + extension);

            string result = strategy.RenameFile(file, 0, helper);

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 7
0
        public void TestNumberingStrategy()
        {
            var row = TestContext.DataRow;

            // extract csv data
            string name      = row["Name"].ToString();
            string extension = row["Extension"].ToString();
            int    position  = Int32.Parse(row["Position"].ToString());
            bool   fromLeft  = row["FromLeft"].ToString() == "Y";
            bool   insert    = row["Insert"].ToString() == "Y";
            string text      = row["Text"].ToString();
            string expected  = row["Expected"].ToString();
            string behaviour = row["Behaviour"].ToString();

            NameExtensionHelper helper;

            switch (behaviour)
            {
            case "N":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
                break;

            case "X":
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.ExtensionOnly);
                break;

            default:
                helper = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.BothNameExtension);
                break;
            }

            InsertTextStrategy strategy = new InsertTextStrategy(position, text, fromLeft, insert);
            IFileMetaData      file     = CreateFileMetaData(name + "." + extension);

            string result = strategy.RenameFile(file, 0, helper);

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 8
0
        public void TestUpperCase()
        {
            IEnumerable <string> filenames = from name in names
                                             from ext in extensions
                                             select name + '.' + ext;
            IEnumerable <string> expectedNameOnly = from name in names
                                                    from ext in extensions
                                                    select name.ToUpper() + '.' + ext;

            IEnumerable <string> expectedExtOnly = from name in names
                                                   from ext in extensions
                                                   select name + '.' + ext.ToUpper();
            IEnumerable <string> expectedFull = from name in names
                                                from ext in extensions
                                                select name.ToUpper() + '.' + ext.ToUpper();

            // Test full filename behaviour
            NameExtensionHelper test = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.BothNameExtension);

            strategy = new CaseChangingStrategy(CaseTypes.Uppercase);
            List <string> result = filenames.Select(name => strategy.RenameFile(CreateFileMetaData(name), 0, test)).ToList();

            TestHelper.AssertListsEqual(expectedFull, result);

            // Test name part of the filename
            test     = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.NameOnly);
            strategy = new CaseChangingStrategy(CaseTypes.Uppercase);
            result   = filenames.Select(name => strategy.RenameFile(CreateFileMetaData(name), 0, test)).ToList();
            TestHelper.AssertListsEqual(expectedNameOnly, result);

            // test extension part of the filename
            test     = NameExtensionHelper.CreateNameExtensionHelper(NameExtensionBehaviour.ExtensionOnly);
            strategy = new CaseChangingStrategy(CaseTypes.Uppercase);
            result   = filenames.Select(name => strategy.RenameFile(CreateFileMetaData(name), 0, test)).ToList();
            TestHelper.AssertListsEqual(expectedExtOnly, result);
        }