From 1e85c0ba2e1de8c912d22a38cbe2889dd184ef2b Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Fri, 5 May 2023 09:39:15 -0700 Subject: [PATCH] Start of ;9 --- Shared/Models/Stateless/Methods/XDirectory.cs | 6 ++++-- Tests/UnitTestHardCoded.cs | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Shared/Models/Stateless/Methods/XDirectory.cs b/Shared/Models/Stateless/Methods/XDirectory.cs index 7f4e8ec..f6c04bb 100644 --- a/Shared/Models/Stateless/Methods/XDirectory.cs +++ b/Shared/Models/Stateless/Methods/XDirectory.cs @@ -108,7 +108,9 @@ internal abstract partial class XDirectory if (possibleFileInfo.LastWriteTime == fileInfo.LastWriteTime && possibleFileInfo.Length == fileInfo.Length) continue; timeSpan = new(possibleFileInfo.LastWriteTime.Ticks - fileInfo.LastWriteTime.Ticks); - if (timeSpan.TotalMinutes < 2 && possibleFileInfo.Length == fileInfo.Length) + if (possibleFileInfo.Length != fileInfo.Length) + throw new Exception(Path.GetFileNameWithoutExtension(file)); + if (timeSpan.TotalMinutes < 61) { File.SetLastWriteTime(file, new DateTime[] { possibleFileInfo.LastWriteTime, fileInfo.LastWriteTime }.Min()); continue; @@ -134,7 +136,7 @@ internal abstract partial class XDirectory continue; matches.Add(possible); } - if (matches.Count == 1 || (lengths.Distinct().Count() == 1 && creationTimes.Distinct().Count() == 1)) + if (matches.Count == 1 || (matches.Any() && lengths.Distinct().Count() == 1 && creationTimes.Distinct().Count() == 1)) result = matches.First(); return result; } diff --git a/Tests/UnitTestHardCoded.cs b/Tests/UnitTestHardCoded.cs index d764010..66df3df 100644 --- a/Tests/UnitTestHardCoded.cs +++ b/Tests/UnitTestHardCoded.cs @@ -755,7 +755,21 @@ public partial class UnitTestHardCoded foreach (string sex in new string[] { "Unknown", "Male", "Female" }) _ = Directory.CreateDirectory($"D:/{status}-{sex}"); } + NonThrowTryCatch(); + } + [TestMethod] + public void TestMethodRename() + { + // string[] directories = Directory.GetDirectories(@"D:\2) Images B\Not-Copy-Copy-9b89679", "*;*", SearchOption.AllDirectories); + // string[] directories = Directory.GetDirectories(@"D:\1) Images A\Images-9b89679", "*;*", SearchOption.AllDirectories); + string[] directories = Directory.GetDirectories(@"D:\2) Images B\Not-Copy-Copy-9b89679", "*", SearchOption.AllDirectories); + foreach (string directory in directories.OrderByDescending(l => l.Length - l.Replace(@"\", string.Empty).Length)) + { + if (directory.EndsWith(";9")) + continue; + Directory.Move(directory, $"{directory};9"); + } NonThrowTryCatch(); }