More strict birthday logic

This commit is contained in:
2022-09-26 14:59:51 -07:00
parent a145a89112
commit 27a4a1cfb4
11 changed files with 237 additions and 111 deletions

View File

@ -412,4 +412,67 @@ public class UnitTestCalculations
Assert.IsTrue(distance == 1.4142135623730951);
}
private static (string?, string, string) Get(string[] segments)
{
(string?, string, string) result;
if ((!segments[0].Contains('#') && (segments[3].Contains('~') || segments[3].Contains('#'))) || (segments[0].Contains('#') && !segments[3].Contains('#')))
result = new(null, segments[3], segments[4]);
else
result = new(segments[0], segments[3], segments[4]);
return result;
}
[TestMethod]
public void TestMoveToVerify()
{
string http;
string? minusOne;
string? minusTwo;
string[] segments;
string[] beforeSegments;
string[] matchDirectories;
string? personKeyFormattedNew;
string? personDisplayDirectory;
string personDisplayDirectoryNew;
string personDisplayDirectoryNameNew;
string personKeyFormattedDirectoryNew;
string sourceDirectory = @"";
string sourceFile = @"\People - C.tsv";
if (!File.Exists(sourceFile))
throw new Exception();
string[] lines = File.ReadAllLines(sourceFile);
for (int i = 0; i < lines.Length; i++)
{
if (!lines[i].Contains("https://"))
continue;
segments = lines[i].Split('\t');
beforeSegments = lines[i - 1].Split('\t');
if (beforeSegments.Length < 4 || segments.Length < 5)
continue;
matchDirectories = Directory.GetDirectories(sourceDirectory, beforeSegments[0], SearchOption.AllDirectories);
if (matchDirectories.Length != 1)
continue;
personDisplayDirectory = Path.GetDirectoryName(matchDirectories[0]);
if (personDisplayDirectory is null)
continue;
minusOne = Path.GetDirectoryName(personDisplayDirectory);
if (minusOne is null)
continue;
minusTwo = Path.GetDirectoryName(minusOne);
if (minusTwo is null)
continue;
(personKeyFormattedNew, personDisplayDirectoryNameNew, http) = Get(segments);
if (personKeyFormattedNew is null)
continue;
personDisplayDirectoryNew = Path.Combine(minusTwo, "Verify", personDisplayDirectoryNameNew);
if (Directory.Exists(personDisplayDirectoryNew))
continue;
personKeyFormattedDirectoryNew = Path.Combine(personDisplayDirectoryNew, personKeyFormattedNew);
Directory.Move(personDisplayDirectory, personDisplayDirectoryNew);
_ = Directory.CreateDirectory(personKeyFormattedDirectoryNew);
File.WriteAllText(Path.Combine(personKeyFormattedDirectoryNew, "Facebook.txt"), http);
}
Assert.IsTrue(lines.Any());
}
}