summaryrefslogtreecommitdiff
path: root/tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php')
-rw-r--r--tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php142
1 files changed, 91 insertions, 51 deletions
diff --git a/tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php b/tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php
index b42375899f..9b5ee9141e 100644
--- a/tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php
+++ b/tests/app/SurnameTradition/IcelandicSurnameTraditionTest.php
@@ -19,7 +19,10 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\SurnameTradition;
+use Fisharebest\Webtrees\Fact;
+use Fisharebest\Webtrees\Individual;
use Fisharebest\Webtrees\TestCase;
+use Illuminate\Support\Collection;
/**
* Test harness for the class IcelandicSurnameTradition
@@ -29,18 +32,6 @@ class IcelandicSurnameTraditionTest extends TestCase
private SurnameTraditionInterface $surname_tradition;
/**
- * Prepare the environment for these tests
- *
- * @return void
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->surname_tradition = new IcelandicSurnameTradition();
- }
-
- /**
* Test whether married surnames are used
*
* @covers \Fisharebest\Webtrees\SurnameTradition\IcelandicSurnameTradition
@@ -73,9 +64,21 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewSonNames(): void
{
+ $father_fact = $this->createStub(Fact::class);
+ $father_fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $father = $this->createStub(Individual::class);
+ $father->expects(self::any())->method('facts')->willReturn(new Collection([$father_fact]));
+
+ $mother_fact = $this->createStub(Fact::class);
+ $mother_fact->expects(self::any())->method('value')->willReturn('Eva Stefansdottir');
+
+ $mother = $this->createStub(Individual::class);
+ $mother->expects(self::any())->method('facts')->willReturn(new Collection([$mother_fact]));
+
self::assertSame(
- ['NAME' => 'Jonsson'],
- $this->surname_tradition->newChildNames('Jon Einarsson', 'Eva Stefansdottir', 'M')
+ ["1 NAME Jonsson\n2 TYPE birth\n2 GIVN Jonsson"],
+ $this->surname_tradition->newChildNames($father, $mother, 'M')
);
}
@@ -88,9 +91,21 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewDaughterNames(): void
{
+ $father_fact = $this->createStub(Fact::class);
+ $father_fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $father = $this->createStub(Individual::class);
+ $father->expects(self::any())->method('facts')->willReturn(new Collection([$father_fact]));
+
+ $mother_fact = $this->createStub(Fact::class);
+ $mother_fact->expects(self::any())->method('value')->willReturn('Eva Stefansdottir');
+
+ $mother = $this->createStub(Individual::class);
+ $mother->expects(self::any())->method('facts')->willReturn(new Collection([$mother_fact]));
+
self::assertSame(
- ['NAME' => 'Jonsdottir'],
- $this->surname_tradition->newChildNames('Jon Einarsson', 'Eva Stefansdottir', 'F')
+ ["1 NAME Jonsdottir\n2 TYPE birth\n2 GIVN Jonsdottir"],
+ $this->surname_tradition->newChildNames($father, $mother, 'F')
);
}
@@ -103,9 +118,21 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewChildNames(): void
{
+ $father_fact = $this->createStub(Fact::class);
+ $father_fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $father = $this->createStub(Individual::class);
+ $father->expects(self::any())->method('facts')->willReturn(new Collection([$father_fact]));
+
+ $mother_fact = $this->createStub(Fact::class);
+ $mother_fact->expects(self::any())->method('value')->willReturn('Eva Stefansdottir');
+
+ $mother = $this->createStub(Individual::class);
+ $mother->expects(self::any())->method('facts')->willReturn(new Collection([$mother_fact]));
+
self::assertSame(
- [],
- $this->surname_tradition->newChildNames('Jon Einarsson', 'Eva Stefansdottir', 'U')
+ ["1 NAME\n2 TYPE birth"],
+ $this->surname_tradition->newChildNames($father, $mother, 'U')
);
}
@@ -118,12 +145,15 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewFatherNames(): void
{
+ $fact = $this->createStub(Fact::class);
+ $fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $individual = $this->createStub(Individual::class);
+ $individual->expects(self::any())->method('facts')->willReturn(new Collection([$fact]));
+
self::assertSame(
- [
- 'NAME' => 'Einar',
- 'GIVN' => 'Einar',
- ],
- $this->surname_tradition->newParentNames('Jon Einarsson', 'M')
+ ["1 NAME Einar\n2 TYPE birth\n2 GIVN Einar"],
+ $this->surname_tradition->newParentNames($individual, 'M')
);
}
@@ -136,9 +166,15 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewMotherNames(): void
{
+ $fact = $this->createStub(Fact::class);
+ $fact->expects(self::any())->method('value')->willReturn('Jon Evasdottir');
+
+ $individual = $this->createStub(Individual::class);
+ $individual->expects(self::any())->method('facts')->willReturn(new Collection([$fact]));
+
self::assertSame(
- [],
- $this->surname_tradition->newParentNames('Jon Einarsson', 'F')
+ ["1 NAME Eva\n2 TYPE birth\n2 GIVN Eva"],
+ $this->surname_tradition->newParentNames($individual, 'F')
);
}
@@ -151,54 +187,58 @@ class IcelandicSurnameTraditionTest extends TestCase
*/
public function testNewParentNames(): void
{
+ $fact = $this->createStub(Fact::class);
+ $fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $individual = $this->createStub(Individual::class);
+ $individual->expects(self::any())->method('facts')->willReturn(new Collection([$fact]));
+
self::assertSame(
- [],
- $this->surname_tradition->newParentNames('Jon Einarsson', 'U')
+ ["1 NAME\n2 TYPE birth"],
+ $this->surname_tradition->newParentNames($individual, 'U')
);
}
/**
- * Test new husband names
+ * Test new spouse names
*
* @covers \Fisharebest\Webtrees\SurnameTradition\IcelandicSurnameTradition
*
* @return void
*/
- public function testNewHusbandNames(): void
+ public function testNewSpouseNames(): void
{
+ $fact = $this->createStub(Fact::class);
+ $fact->expects(self::any())->method('value')->willReturn('Jon Einarsson');
+
+ $individual = $this->createStub(Individual::class);
+ $individual->expects(self::any())->method('facts')->willReturn(new Collection([$fact]));
+
self::assertSame(
- [],
- $this->surname_tradition->newSpouseNames('Eva Stefansdottir', 'M')
+ ["1 NAME\n2 TYPE birth"],
+ $this->surname_tradition->newSpouseNames($individual, 'M')
);
- }
- /**
- * Test new wife names
- *
- * @covers \Fisharebest\Webtrees\SurnameTradition\IcelandicSurnameTradition
- *
- * @return void
- */
- public function testNewWifeNames(): void
- {
self::assertSame(
- [],
- $this->surname_tradition->newSpouseNames('Jon Einarsson', 'F')
+ ["1 NAME\n2 TYPE birth"],
+ $this->surname_tradition->newSpouseNames($individual, 'F')
+ );
+
+ self::assertSame(
+ ["1 NAME\n2 TYPE birth"],
+ $this->surname_tradition->newSpouseNames($individual, 'U')
);
}
/**
- * Test new spouse names
- *
- * @covers \Fisharebest\Webtrees\SurnameTradition\IcelandicSurnameTradition
+ * Prepare the environment for these tests
*
* @return void
*/
- public function testNewSpouseNames(): void
+ protected function setUp(): void
{
- self::assertSame(
- [],
- $this->surname_tradition->newSpouseNames('Jon Einarsson', 'U')
- );
+ parent::setUp();
+
+ $this->surname_tradition = new IcelandicSurnameTradition();
}
}