Family Tree as Markdown Files

This commit is contained in:
2023-07-16 23:06:08 -07:00
parent 240c1ef6f9
commit b2fe53275f
15 changed files with 594 additions and 202 deletions

View File

@ -2,6 +2,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Phares.Shared;
using Serilog;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Reflection;
using View_by_Distance.Shared.Models;
@ -264,7 +265,7 @@ public partial class UnitTestHardCoded
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{
List<string> mappedLines;
Dictionary<string, List<string>> individuals;
ReadOnlyDictionary<string, string[]> individuals;
GenealogicalDataCommunication genealogicalDataCommunication;
GenealogicalDataCommunicationLines genealogicalDataCommunicationLines;
List<(bool, string)> genealogicalDataCommunicationFiles = new()
@ -274,18 +275,18 @@ public partial class UnitTestHardCoded
// new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583.ged")),
// new(true, Path.Combine(directory, "Code-638160728606500015/638160728606500015.ged")),
// new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877.ged")),
// new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885.ged")),
new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055.ged")),
new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885.ged")),
// new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055.ged")),
// new(false, Path.Combine(directory, "Ancestry-Porterfield/Porterfield Family Tree.ged")),
// new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583-Export.ged")),
// new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877-Export.ged")),
// new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885-Export.ged")),
new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055-Export.ged")),
// new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055-Export.ged")),
};
foreach ((bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles)
{
(_, individuals, _) = IGenealogicalDataCommunication.GetIndividuals(genealogicalDataCommunicationFile, requireNickName);
foreach (KeyValuePair<string, List<string>> keyValuePair in individuals)
(_, individuals, _, _, _) = IGenealogicalDataCommunication.GetIndividuals(genealogicalDataCommunicationFile, requireNickName);
foreach (KeyValuePair<string, string[]> keyValuePair in individuals)
{
genealogicalDataCommunicationLines = IGenealogicalDataCommunication.GetGenealogicalDataCommunicationLines(keyValuePair.Value);
Assert.IsNotNull(genealogicalDataCommunicationLines.Name);
@ -316,7 +317,7 @@ public partial class UnitTestHardCoded
PersonName? personName;
string personKeyFormatted;
bool isDefaultName = false;
Dictionary<string, List<string>> individuals;
ReadOnlyDictionary<string, string[]> individuals;
GenealogicalDataCommunication genealogicalDataCommunication;
GenealogicalDataCommunicationLines genealogicalDataCommunicationLines;
List<(bool, bool, string)> genealogicalDataCommunicationFiles = new()
@ -326,19 +327,19 @@ public partial class UnitTestHardCoded
// new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160728606500015/638160728606500015.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055.ged.cln")),
// new(false, false, Path.Combine(saveDirectory, "Ancestry-Porterfield/Porterfield Family Tree.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583-Export.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877-Export.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885-Export.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055-Export.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055-Export.ged.cln")),
};
foreach ((bool verify, bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles)
{
fileName = Path.GetFileNameWithoutExtension(genealogicalDataCommunicationFile).Split(' ')[0];
(_, individuals, _) = IGenealogicalDataCommunication.GetIndividuals(genealogicalDataCommunicationFile, requireNickName);
foreach (KeyValuePair<string, List<string>> keyValuePair in individuals)
(_, individuals, _, _, _) = IGenealogicalDataCommunication.GetIndividuals(genealogicalDataCommunicationFile, requireNickName);
foreach (KeyValuePair<string, string[]> keyValuePair in individuals)
{
genealogicalDataCommunicationLines = IGenealogicalDataCommunication.GetGenealogicalDataCommunicationLines(keyValuePair.Value);
Assert.IsNotNull(genealogicalDataCommunicationLines.Name);