Facebook logic, IsDefaultName, GetFiles update and
HardCoded tests
This commit is contained in:
@ -61,6 +61,13 @@ public partial class UnitTestCalculations
|
||||
_PropertyConfiguration = propertyConfiguration;
|
||||
}
|
||||
|
||||
private static void NonThrowTryCatch()
|
||||
{
|
||||
try
|
||||
{ throw new Exception(); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodNull()
|
||||
{
|
||||
@ -71,6 +78,7 @@ public partial class UnitTestCalculations
|
||||
Assert.IsFalse(_WorkingDirectory is null);
|
||||
Assert.IsFalse(_ConfigurationRoot is null);
|
||||
Assert.IsFalse(_PropertyConfiguration is null);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
@ -87,29 +95,6 @@ public partial class UnitTestCalculations
|
||||
Assert.IsTrue(age.Value > 42.6092);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodGetApproximateYears()
|
||||
{
|
||||
string personDisplayDirectory = @"D:\1) Images A\Images-9b89679-Results\A2) People\9b89679\{}\^\Sydney Dupray^9";
|
||||
if (Directory.Exists(Directory.GetDirectoryRoot(personDisplayDirectory)) && Directory.Exists(personDisplayDirectory))
|
||||
{
|
||||
char numberSign = '#';
|
||||
string? minusOne = null;
|
||||
char[] personCharacters = new char[] { '^' };
|
||||
string personDisplayDirectoryName = Path.GetFileName(personDisplayDirectory);
|
||||
string personBirthdayFormat = _Configuration.PropertyConfiguration.PersonBirthdayFormat;
|
||||
string[] personKeyDirectories = Directory.GetDirectories(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
List<(string, PersonBirthday)> collection = IPersonBirthday.GetPersonBirthdays(personBirthdayFormat, personKeyDirectories, personDisplayDirectory, personDisplayDirectoryName);
|
||||
int? approximateYears = IAge.GetApproximateYears(personCharacters, personDisplayDirectoryName);
|
||||
if (approximateYears is null)
|
||||
throw new NullReferenceException(nameof(approximateYears));
|
||||
Assert.IsNotNull(approximateYears);
|
||||
Assert.IsTrue(approximateYears.Value == 9);
|
||||
string? change = IPersonContainer.VerifyAge(numberSign, personDisplayDirectory, minusOne, personDisplayDirectoryName, approximateYears, collection);
|
||||
Assert.IsNull(change);
|
||||
}
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodParse()
|
||||
{
|
||||
@ -138,52 +123,6 @@ public partial class UnitTestCalculations
|
||||
Assert.IsTrue(successful == "_ Manual Copy Successful");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDamn()
|
||||
{
|
||||
// string name;
|
||||
// string[] directories;
|
||||
// string? directoryName;
|
||||
// string checkDirectory;
|
||||
// string sourceDirectory = @"F:\Tmp\Phares\Compare\Images 2022-09-15 - 7390c13 - III - Results\E) Distance\2022-09-15\7680 x 4320\7680x4320 - Hog - Large\()";
|
||||
// directories = Directory.GetDirectories(sourceDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
// foreach (string directory in directories)
|
||||
// {
|
||||
// directoryName = Path.GetDirectoryName(directory);
|
||||
// if (directoryName is null)
|
||||
// continue;
|
||||
// name = Path.GetFileName(directory);
|
||||
// if (name.Length is 1 or 20)
|
||||
// continue;
|
||||
// checkDirectory = Path.Combine(directoryName, "b", name);
|
||||
// Directory.Move(directory, checkDirectory);
|
||||
// }
|
||||
// directories = Directory.GetDirectories(Path.Combine(sourceDirectory, "b"), "*", SearchOption.TopDirectoryOnly);
|
||||
// foreach (string directory in directories)
|
||||
// {
|
||||
// directoryName = Path.GetDirectoryName(directory);
|
||||
// if (directoryName is null)
|
||||
// continue;
|
||||
// name = Path.GetFileName(directory);
|
||||
// if (name.Length is 1 or 20)
|
||||
// continue;
|
||||
// checkDirectory = Path.Combine(directoryName, $"{name[..^4]})");
|
||||
// if (Directory.Exists(checkDirectory))
|
||||
// continue;
|
||||
// Directory.Move(directory, checkDirectory);
|
||||
// }
|
||||
// Assert.IsTrue(true);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDel()
|
||||
{
|
||||
string source = @"F:\Tmp\Phares\Compare\Images 2022-09-15 - 7390c13 - III - Results\E) Distance\2022-09-15\7680 x 4320\7680x4320 - Hog - Large\()\(637992984751968513)";
|
||||
for (int i = 1; i < 11; i++)
|
||||
_ = IPath.DeleteEmptyDirectories(source);
|
||||
Assert.IsTrue(true);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDirectory()
|
||||
{
|
||||
@ -302,71 +241,6 @@ public partial 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[] lines;
|
||||
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))
|
||||
lines = Array.Empty<string>();
|
||||
else
|
||||
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.IsNotNull(lines);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestGetConfidencePercent()
|
||||
{
|
||||
@ -426,6 +300,23 @@ public partial class UnitTestCalculations
|
||||
File.Move(file, checkFile);
|
||||
}
|
||||
}
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodMonth()
|
||||
{
|
||||
Assert.AreEqual(IPersonBirthday.GetDate("jan", "17", "1980"), new DateTime(1980, 1, 17));
|
||||
Assert.AreEqual(IPersonBirthday.GetDate("january", "17", "1980"), new DateTime(1980, 1, 17));
|
||||
Assert.AreEqual(IPersonBirthday.GetDate("f", "17", "1980"), new DateTime(1980, 2, 17));
|
||||
Assert.AreEqual(IPersonBirthday.GetDate("01", "17", "1980"), new DateTime(1980, 1, 17));
|
||||
Assert.AreEqual(IPersonBirthday.GetDate("1", "17", "1980"), new DateTime(1980, 1, 17));
|
||||
Assert.IsNull(IPersonBirthday.GetDate("pan", "17", "1980"));
|
||||
Assert.IsNull(IPersonBirthday.GetDate("j-a-n-u-a-r-y", "17", "1980"));
|
||||
Assert.IsNull(IPersonBirthday.GetDate("j", "17", "1980"));
|
||||
Assert.IsNull(IPersonBirthday.GetDate("13", "17", "1980"));
|
||||
Assert.IsNull(IPersonBirthday.GetDate("0", "17", "1980"));
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
}
|
247
Tests/UnitTestHardCoded.cs
Normal file
247
Tests/UnitTestHardCoded.cs
Normal file
@ -0,0 +1,247 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Phares.Shared;
|
||||
using Serilog;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using View_by_Distance.Shared.Models;
|
||||
using View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
using View_by_Distance.Tests.Models;
|
||||
|
||||
namespace View_by_Distance.Tests;
|
||||
|
||||
[TestClass]
|
||||
public partial class UnitTestHardCoded
|
||||
{
|
||||
|
||||
private readonly ILogger _Logger;
|
||||
private readonly AppSettings _AppSettings;
|
||||
private readonly string _WorkingDirectory;
|
||||
private readonly Configuration _Configuration;
|
||||
private readonly IsEnvironment _IsEnvironment;
|
||||
private readonly IConfigurationRoot _ConfigurationRoot;
|
||||
private readonly Property.Models.Configuration _PropertyConfiguration;
|
||||
|
||||
public UnitTestHardCoded()
|
||||
{
|
||||
ILogger logger;
|
||||
AppSettings appSettings;
|
||||
string workingDirectory;
|
||||
Configuration configuration;
|
||||
IsEnvironment isEnvironment;
|
||||
IConfigurationRoot configurationRoot;
|
||||
LoggerConfiguration loggerConfiguration = new();
|
||||
Property.Models.Configuration propertyConfiguration;
|
||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
||||
bool debuggerWasAttachedAtLineZero = Debugger.IsAttached || assembly.Location.Contains(@"\bin\Debug");
|
||||
isEnvironment = new(processesCount: null, nullASPNetCoreEnvironmentIsDevelopment: debuggerWasAttachedAtLineZero, nullASPNetCoreEnvironmentIsProduction: !debuggerWasAttachedAtLineZero);
|
||||
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder()
|
||||
.AddEnvironmentVariables()
|
||||
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
||||
.AddJsonFile(isEnvironment.AppSettingsFileName, optional: false, reloadOnChange: true);
|
||||
configurationRoot = configurationBuilder.Build();
|
||||
appSettings = Models.Binder.AppSettings.Get(configurationRoot);
|
||||
if (string.IsNullOrEmpty(appSettings.WorkingDirectoryName))
|
||||
throw new Exception("Working directory name must have a value!");
|
||||
workingDirectory = IWorkingDirectory.GetWorkingDirectory(assembly.GetName().Name, appSettings.WorkingDirectoryName);
|
||||
Environment.SetEnvironmentVariable(nameof(workingDirectory), workingDirectory);
|
||||
_ = ConfigurationLoggerConfigurationExtensions.Configuration(loggerConfiguration.ReadFrom, configurationRoot);
|
||||
Log.Logger = loggerConfiguration.CreateLogger();
|
||||
logger = Log.ForContext<UnitTestHardCoded>();
|
||||
propertyConfiguration = Property.Models.Binder.Configuration.Get(isEnvironment, configurationRoot);
|
||||
configuration = Models.Binder.Configuration.Get(isEnvironment, configurationRoot, propertyConfiguration);
|
||||
logger.Information("Complete");
|
||||
_Logger = logger;
|
||||
_AppSettings = appSettings;
|
||||
_Configuration = configuration;
|
||||
_IsEnvironment = isEnvironment;
|
||||
_WorkingDirectory = workingDirectory;
|
||||
_ConfigurationRoot = configurationRoot;
|
||||
_PropertyConfiguration = propertyConfiguration;
|
||||
}
|
||||
|
||||
private static void NonThrowTryCatch()
|
||||
{
|
||||
try
|
||||
{ throw new Exception(); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodNull()
|
||||
{
|
||||
Assert.IsFalse(_Logger is null);
|
||||
Assert.IsFalse(_AppSettings is null);
|
||||
Assert.IsFalse(_Configuration is null);
|
||||
Assert.IsFalse(_IsEnvironment is null);
|
||||
Assert.IsFalse(_WorkingDirectory is null);
|
||||
Assert.IsFalse(_ConfigurationRoot is null);
|
||||
Assert.IsFalse(_PropertyConfiguration is null);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDel()
|
||||
{
|
||||
string source = @"F:\Tmp\Phares\Compare\Images 2022-09-15 - 7390c13 - III - Results\E) Distance\2022-09-15\7680 x 4320\7680x4320 - Hog - Large\()\(637992984751968513)";
|
||||
for (int i = 1; i < 11; i++)
|
||||
_ = IPath.DeleteEmptyDirectories(source);
|
||||
Assert.IsTrue(true);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodGetApproximateYears()
|
||||
{
|
||||
string personDisplayDirectory = @"D:\1) Images A\Images-9b89679-Results\A2) People\9b89679\{}\^\Sydney Dupray^9";
|
||||
if (Directory.Exists(Directory.GetDirectoryRoot(personDisplayDirectory)) && Directory.Exists(personDisplayDirectory))
|
||||
{
|
||||
char numberSign = '#';
|
||||
string? minusOne = null;
|
||||
char[] personCharacters = new char[] { '^' };
|
||||
string personDisplayDirectoryName = Path.GetFileName(personDisplayDirectory);
|
||||
string personBirthdayFormat = _Configuration.PropertyConfiguration.PersonBirthdayFormat;
|
||||
string[] personKeyDirectories = Directory.GetDirectories(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
List<(string, PersonBirthday)> collection = IPersonBirthday.GetPersonBirthdays(personBirthdayFormat, personKeyDirectories, personDisplayDirectory, personDisplayDirectoryName);
|
||||
int? approximateYears = IAge.GetApproximateYears(personCharacters, personDisplayDirectoryName);
|
||||
if (approximateYears is null)
|
||||
throw new NullReferenceException(nameof(approximateYears));
|
||||
Assert.IsNotNull(approximateYears);
|
||||
Assert.IsTrue(approximateYears.Value == 9);
|
||||
string? change = IPersonContainer.VerifyAge(numberSign, personDisplayDirectory, minusOne, personDisplayDirectoryName, approximateYears, collection);
|
||||
Assert.IsNull(change);
|
||||
}
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDamn()
|
||||
{
|
||||
// string name;
|
||||
// string[] directories;
|
||||
// string? directoryName;
|
||||
// string checkDirectory;
|
||||
// string sourceDirectory = @"F:\Tmp\Phares\Compare\Images 2022-09-15 - 7390c13 - III - Results\E) Distance\2022-09-15\7680 x 4320\7680x4320 - Hog - Large\()";
|
||||
// directories = Directory.GetDirectories(sourceDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
// foreach (string directory in directories)
|
||||
// {
|
||||
// directoryName = Path.GetDirectoryName(directory);
|
||||
// if (directoryName is null)
|
||||
// continue;
|
||||
// name = Path.GetFileName(directory);
|
||||
// if (name.Length is 1 or 20)
|
||||
// continue;
|
||||
// checkDirectory = Path.Combine(directoryName, "b", name);
|
||||
// Directory.Move(directory, checkDirectory);
|
||||
// }
|
||||
// directories = Directory.GetDirectories(Path.Combine(sourceDirectory, "b"), "*", SearchOption.TopDirectoryOnly);
|
||||
// foreach (string directory in directories)
|
||||
// {
|
||||
// directoryName = Path.GetDirectoryName(directory);
|
||||
// if (directoryName is null)
|
||||
// continue;
|
||||
// name = Path.GetFileName(directory);
|
||||
// if (name.Length is 1 or 20)
|
||||
// continue;
|
||||
// checkDirectory = Path.Combine(directoryName, $"{name[..^4]})");
|
||||
// if (Directory.Exists(checkDirectory))
|
||||
// continue;
|
||||
// Directory.Move(directory, checkDirectory);
|
||||
// }
|
||||
// Assert.IsTrue(true);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodDel2()
|
||||
{
|
||||
string source = @"F:\Tmp\Phares\Compare\Images 2022-09-15 - 7390c13 - III - Results\E) Distance\2022-09-15\7680 x 4320\7680x4320 - Hog - Large\()\(637992984751968513)";
|
||||
for (int i = 1; i < 11; i++)
|
||||
_ = IPath.DeleteEmptyDirectories(source);
|
||||
Assert.IsTrue(true);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
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[] lines;
|
||||
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))
|
||||
lines = Array.Empty<string>();
|
||||
else
|
||||
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.IsNotNull(lines);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethodRenameAbandoned()
|
||||
{
|
||||
string checkFile;
|
||||
string source = @"D:\1) Images A\Images-9b89679-Results\A2) People\9b89679\{}\!\Abandoned";
|
||||
string[] files = Directory.GetFiles(source, "*.abd", SearchOption.TopDirectoryOnly);
|
||||
foreach (string file in files)
|
||||
{
|
||||
checkFile = file[..^4];
|
||||
if (File.Exists(checkFile))
|
||||
continue;
|
||||
File.Move(file, checkFile);
|
||||
}
|
||||
Assert.IsTrue(true);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user