Skip to content

Commit

Permalink
Improve tests
Browse files Browse the repository at this point in the history
  • Loading branch information
hazzik committed Jun 28, 2024
1 parent cee8ecd commit d7a0fef
Showing 1 changed file with 37 additions and 60 deletions.
97 changes: 37 additions & 60 deletions projects/GKTests/GDModel/GDMLocationRecordTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,9 @@
*/

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using GDModel.Providers.GEDCOM;
using GKCore;
using GKCore.Options;
using GKCore.Types;
using GKTests;
using NUnit.Framework;
Expand Down Expand Up @@ -193,18 +190,7 @@ public void Test_Hierarchy()
{
var tree = new GDMTree();

// J2G Rus transfer: 26 JAN 1918 (Julian), 1 FEB -> 14 FEB 1918

var locRus = tree.CreateLocation();
locRus.AddLocName("Россия", "FROM 862 TO 1546");
locRus.AddLocName("Российское царство", "FROM 1547 TO 21 OCT 1721");//++
locRus.AddLocName("Российская империя", "FROM 22 OCT 1721 TO 31 AUG 1917");//++
locRus.AddLocName("Российская республика", "FROM 01 SEP 1917 TO 18 JUL 1918");//++
locRus.AddLocName("РСФСР", "FROM 19 JUL 1918 TO 29 DEC 1922");//++
locRus.AddLocName("СССР", "FROM 30 DEC 1922 TO 26 DEC 1991");//++
locRus.AddLocName("РФ", "FROM 27 DEC 1991");//++
Assert.True(locRus.ValidateLinks());
Assert.True(locRus.ValidateNames());
var locRus = CreateRussia(tree);

var fullNames = locRus.GetFullNames(tree, ATDEnumeration.fStL);
string result = string.Join("\n", fullNames.Select(x => string.Format("'{0}': '{1}'", x.Date.ToString(), x.StringValue)));
Expand Down Expand Up @@ -417,7 +403,7 @@ public void Test_Hierarchy()
}

[Test]
public void Test_Carbuna()
public void Test_Chisinau_SeparateTopLevels()
{
var tree = new GDMTree();
var ussr = tree.CreateLocation();
Expand All @@ -431,86 +417,61 @@ public void Test_Carbuna()
moldavianSsr.AddLocLink(ussr, "FROM 2 AUG 1940 TO 27 AUG 1991");

var carbuna = tree.CreateLocation();
carbuna.AddLocName("Карбуна", "FROM 1775");
carbuna.AddLocName("Кишинёв", "FROM 14 OCT 1436");
carbuna.AddLocLink(moldavianSsr, "FROM 2 AUG 1940 TO 27 AUG 1991");
carbuna.AddLocLink(moldova, "FROM 28 AUG 1991");

var names = carbuna.GetFullNames(tree, ATDEnumeration.fLtS);
var result = string.Join("\n", names.Select(x => string.Format("'{0}': '{1}'", x.Date.ToString(), x.StringValue)));

Assert.AreEqual(
"'__.__.1775 [G] - 01.08.1940 [G]': 'Карбуна'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Карбуна'\n" +
"'28.08.1991 [G] >': 'Молдова, Карбуна'"
"'14.10.1436 [G] - 01.08.1940 [G]': 'Кишинёв'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Кишинёв'\n" +
"'28.08.1991 [G] >': 'Молдова, Кишинёв'"
, result);
}

[Test]
public void Test_Carbuna2()
public void Test_Chisinau_CombinedTopLevel()
{
var tree = new GDMTree();
var ussr = tree.CreateLocation();
ussr.AddLocName("СССР", "FROM 30 DEC 1922 TO 26 DEC 1991");
var ussr = CreateRussia(tree);

var moldova = tree.CreateLocation();
moldova.AddLocName("Молдавская ССР", "FROM 2 AUG 1940 TO 27 AUG 1991");
moldova.AddLocName("Молдова", "FROM 28 AUG 1991");
moldova.AddLocLink(ussr, "FROM 2 AUG 1940 TO 27 AUG 1991");

var carbuna = tree.CreateLocation();
carbuna.AddLocName("Карбуна", "FROM 1775");
carbuna.AddLocLink(moldova, "FROM 2 AUG 1940");
carbuna.AddLocName("Кишинёв", "FROM 14 OCT 1436");
carbuna.AddLocLink(moldova, "FROM 1812");

var names = carbuna.GetFullNames(tree, ATDEnumeration.fLtS);
var result = string.Join("\n", names.Select(x => string.Format("'{0}': '{1}'", x.Date.ToString(), x.StringValue)));

Assert.AreEqual(
"'__.__.1775 [G] - 01.08.1940 [G]': 'Карбуна'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Карбуна'\n" +
"'28.08.1991 [G] >': 'Молдова, Карбуна'"
"'14.10.1436 [G] - 01.08.1940 [G]': 'Кишинёв'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Кишинёв'\n" +
"'28.08.1991 [G] >': 'Кишинёв'"
, result);
}

[Test]
public void Test_Carbuna3()
{
var tree = new GDMTree();
var ussr = tree.CreateLocation();
ussr.AddLocName("СССР", "FROM 30 DEC 1922 TO 26 DEC 1991");

var moldova = tree.CreateLocation();
moldova.AddLocName("Молдавская ССР", "FROM 2 AUG 1940 TO 27 AUG 1991");
moldova.AddLocLink(ussr, "FROM 2 AUG 1940 TO 27 AUG 1991");

var carbuna = tree.CreateLocation();
carbuna.AddLocName("Карбуна", "FROM 1775");
carbuna.AddLocLink(moldova, "FROM 2 AUG 1940 TO 1995");
moldova.AddLocName("Молдова", "FROM 28 AUG 1991");

var names = carbuna.GetFullNames(tree, ATDEnumeration.fLtS);
var result = string.Join("\n", names.Select(x => string.Format("'{0}': '{1}'", x.Date.ToString(), x.StringValue)));
names = carbuna.GetFullNames(tree, ATDEnumeration.fLtS);
result = string.Join("\n", names.Select(x => string.Format("'{0}': '{1}'", x.Date.ToString(), x.StringValue)));

Assert.AreEqual(
"'__.__.1775 [G] - 01.08.1940 [G]': 'Карбуна'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Карбуна'\n" +
"'28.08.1991 [G] >': 'Карбуна'"
"'14.10.1436 [G] - 01.08.1940 [G]': 'Кишинёв'\n" +
"'02.08.1940 [G] - 27.08.1991 [G]': 'СССР, Молдавская ССР, Кишинёв'\n" +
"'28.08.1991 [G] >': 'Молдова, Кишинёв'"
, result);
}

[Test]
public void Test_VyatkaProv()
public void Test_VyatkaProvince_MissingLocationName()
{
var tree = new GDMTree();

var locRus = tree.CreateLocation();
locRus.AddLocName("Россия", "FROM 862 TO 1546");
locRus.AddLocName("Российское царство", "FROM 1547 TO 21 OCT 1721");//++
locRus.AddLocName("Российская империя", "FROM 22 OCT 1721 TO 31 AUG 1917");//++
locRus.AddLocName("Российская республика", "FROM 01 SEP 1917 TO 18 JUL 1918");//++
locRus.AddLocName("РСФСР", "FROM 19 JUL 1918 TO 29 DEC 1922");//++
locRus.AddLocName("СССР", "FROM 30 DEC 1922 TO 26 DEC 1991");//++
locRus.AddLocName("РФ", "FROM 27 DEC 1991");//++
Assert.True(locRus.ValidateLinks());
Assert.True(locRus.ValidateNames());
var locRus = CreateRussia(tree);

var locSibGub = tree.CreateLocation();
var locKazGub = tree.CreateLocation();
Expand Down Expand Up @@ -600,6 +561,22 @@ private static GDMDatePeriod GetRange(string strDateRange)
result.ParseString(strDateRange);
return result;
}

private static GDMLocationRecord CreateRussia(GDMTree tree)
{
// J2G Rus transfer: 26 JAN 1918 (Julian), 1 FEB -> 14 FEB 1918
var locRus = tree.CreateLocation();
locRus.AddLocName("Россия", "FROM 862 TO 1546");
locRus.AddLocName("Российское царство", "FROM 1547 TO 21 OCT 1721"); //++
locRus.AddLocName("Российская империя", "FROM 22 OCT 1721 TO 31 AUG 1917"); //++
locRus.AddLocName("Российская республика", "FROM 01 SEP 1917 TO 18 JUL 1918"); //++
locRus.AddLocName("РСФСР", "FROM 19 JUL 1918 TO 29 DEC 1922"); //++
locRus.AddLocName("СССР", "FROM 30 DEC 1922 TO 26 DEC 1991"); //++
locRus.AddLocName("РФ", "FROM 27 DEC 1991"); //++
Assert.True(locRus.ValidateLinks());
Assert.True(locRus.ValidateNames());
return locRus;
}
}

public static class LocExts
Expand Down

0 comments on commit d7a0fef

Please sign in to comment.