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); }
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); }
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); }
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); }
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; }
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); }
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); }
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); }