Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add International Womens Day to DE-MV #311

Merged
merged 8 commits into from
Oct 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions src/Yasumi/Provider/Germany/MecklenburgWesternPomerania.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,22 @@ public function initialize(): void
{
parent::initialize();

if ($this->year >= 2023) {
$this->addHoliday($this->internationalWomensDay($this->year, $this->timezone, $this->locale));
}

// Add custom Christian holidays
$this->calculateReformationDay();
}

public function getSources(): array
{
return array_merge(
['https://www.ndr.de/nachrichten/mecklenburg-vorpommern/Frauentag-in-MV-Landtag-beschliesst-neuen-Feiertag,frauentag370.html'],
parent::getSources(),
);
}

/**
* For the German state of Mecklenburg-Western Pomerania, Reformation Day was celebrated since 1517.
* Note: In 2017 all German states will celebrate Reformation Day for its 500th anniversary.
Expand Down
1 change: 1 addition & 0 deletions src/Yasumi/Yasumi.php
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ public static function getProviders(): array
\FilesystemIterator::SKIP_DOTS
), \RecursiveIteratorIterator::SELF_FIRST);

/** @var \SplFileInfo $file */
foreach ($filesIterator as $file) {
if ($file->isDir()) {
continue;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?php

declare(strict_types=1);
/*
* This file is part of the Yasumi package.
*
* Copyright (c) 2015 - 2023 AzuyaLabs
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author Sacha Telgenhof <me at sachatelgenhof dot com>
*/

namespace Yasumi\tests\Germany\MecklenburgWesternPomerania;

use Yasumi\Holiday;
use Yasumi\tests\HolidayTestCase;

/**
* Class containing tests for International Womens Day in Mecklenburg–Western Pomerania, Germany.
*/
class InternationalWomensDayTest extends MecklenburgWesternPomeraniaBaseTestCase implements HolidayTestCase
{
/**
* The name of the holiday to be tested.
*/
public const HOLIDAY = 'internationalWomensDay';

/**
* The year in which the holiday was established.
*/
public const ESTABLISHMENT_YEAR = 2023;

/**
* Test the holiday defined in this test upon establishment.
*
* @throws \Exception
*/
public function testHolidayOnEstablishment(): void
{
$this->assertHoliday(
self::REGION,
self::HOLIDAY,
self::ESTABLISHMENT_YEAR,
new \DateTime(self::ESTABLISHMENT_YEAR.'-03-08', new \DateTimeZone(self::TIMEZONE))
);
}

/**
* Test the holiday defined in this test before establishment.
*
* @throws \Exception
*/
public function testHolidayBeforeEstablishment(): void
{
$this->assertNotHoliday(
self::REGION,
self::HOLIDAY,
$this->generateRandomYear(1000, self::ESTABLISHMENT_YEAR - 1)
);
}

/**
* Test the holiday defined in this test after completion.
*
* @throws \Exception
*/
public function testHolidayAfterCompletion(): void
{
$this->assertNotHoliday(self::REGION, self::HOLIDAY, $this->generateRandomYear(1900, self::ESTABLISHMENT_YEAR - 1));
}

/**
* Tests the translated name of the holiday defined in this test.
*
* @throws \Exception
*/
public function testTranslation(): void
{
$this->assertTranslatedHolidayName(
self::REGION,
self::HOLIDAY,
$this->generateRandomYear(self::ESTABLISHMENT_YEAR, self::ESTABLISHMENT_YEAR),
[self::LOCALE => 'Internationaler Frauentag']
);
}

/**
* Tests type of the holiday defined in this test.
*
* @throws \Exception
*/
public function testHolidayType(): void
{
$this->assertHolidayType(
self::REGION,
self::HOLIDAY,
$this->generateRandomYear(self::ESTABLISHMENT_YEAR, self::ESTABLISHMENT_YEAR),
Holiday::TYPE_OFFICIAL
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,6 @@ public function testOtherHolidays(): void
*/
public function testSources(): void
{
$this->assertSources(self::REGION, 2);
$this->assertSources(self::REGION, 3);
}
}
Loading