diff --git a/src/Countries/Maldives.php b/src/Countries/Maldives.php new file mode 100644 index 000000000..bb99797ef --- /dev/null +++ b/src/Countries/Maldives.php @@ -0,0 +1,219 @@ + '11-30', + 1971 => '11-20', + 1972 => '11-08', + 1973 => '10-28', + 1974 => '10-17', + 1975 => '10-06', + 1976 => '09-25', + 1977 => '09-15', + 1978 => '09-04', + 1979 => '08-24', + 1980 => '08-12', + 1981 => '08-01', + 1982 => '07-22', + 1983 => '07-12', + 1984 => '06-30', + 1985 => '06-20', + 1986 => '06-09', + 1987 => '05-29', + 1988 => '05-17', + 1989 => '05-06', + 1990 => '04-26', + 1991 => '04-16', + 1992 => '04-04', + 1993 => '03-24', + 1994 => '03-13', + 1995 => '03-03', + 1996 => '02-20', + 1997 => '02-09', + 1998 => '01-29', + 1999 => '01-19', + 2000 => [ + '01-08', + '12-27', + ], + 2001 => '12-16', + 2002 => '12-05', + 2003 => '11-25', + 2004 => '11-14', + 2005 => '11-03', + 2006 => '10-23', + 2007 => '10-12', + 2008 => '09-30', + 2009 => '09-20', + 2010 => '09-09', + 2011 => '08-31', + 2012 => '08-19', + 2013 => '08-08', + 2014 => '07-29', + 2015 => '07-18', + 2016 => '07-07', + 2017 => '06-26', + 2018 => '06-15', + 2019 => '06-04', + 2020 => '05-24', + 2021 => '05-13', + 2022 => '05-02', + 2023 => '04-21', + 2024 => '04-10', + 2025 => '03-31', + 2026 => '03-20', + 2027 => '03-10', + 2028 => '02-27', + 2029 => '02-15', + 2030 => '02-03', + 2031 => '01-24', + 2032 => '01-14', + 2033 => [ + '01-02', + '12-23', + ], + 2034 => '12-11', + 2035 => '12-01', + 2036 => '11-19', + 2037 => '11-09', + ]; + + public const eidAlAdha = [ + 1970 => '02-17', + 1971 => '02-06', + 1972 => '01-26', + 1973 => '01-14', + 1974 => [ + '01-04', + '12-24', + ], + 1975 => '12-13', + 1976 => '12-02', + 1977 => '11-21', + 1978 => '11-10', + 1979 => '10-31', + 1980 => '10-19', + 1981 => '10-08', + 1982 => '09-27', + 1983 => '09-16', + 1984 => '09-06', + 1985 => '08-25', + 1986 => '08-15', + 1987 => '08-04', + 1988 => '07-23', + 1989 => '07-12', + 1990 => '07-01', + 1991 => '06-20', + 1992 => '06-09', + 1993 => '05-30', + 1994 => '05-19', + 1995 => '05-09', + 1996 => '04-28', + 1997 => '04-18', + 1998 => '04-07', + 1999 => '03-27', + 2000 => '03-16', + 2001 => '03-05', + 2002 => '02-22', + 2003 => '02-11', + 2004 => '02-01', + 2005 => '01-20', + 2006 => [ + '01-10', + '12-31', + ], + 2007 => '12-20', + 2008 => '12-08', + 2009 => '11-27', + 2010 => '11-16', + 2011 => '11-06', + 2012 => '10-25', + 2013 => '10-15', + 2014 => '10-04', + 2015 => '09-23', + 2016 => '09-12', + 2017 => '09-01', + 2018 => '08-21', + 2019 => '08-11', + 2020 => '07-31', + 2021 => '07-20', + 2022 => '07-09', + 2023 => '06-28', + 2024 => '06-17', + 2025 => '06-07', + 2026 => '05-27', + 2027 => '05-17', + 2028 => '05-05', + 2029 => '04-24', + 2030 => '04-13', + 2031 => '04-02', + 2032 => '03-21', + 2033 => '03-11', + 2034 => '02-28', + 2035 => '02-17', + 2036 => '02-07', + 2037 => '01-26', + ]; + + public function countryCode(): string + { + return 'mv'; + } + + public function defaultLocale(): string + { + return 'dv'; // Dhivehi, the language spoken in the Maldives + } + + protected function allHolidays(int $year): array + { + $newHolidays = []; + + if ($year >= 2015) { + $newHolidays['National Day'] = '01-24'; + } + + return array_merge([ + "New Year's Day" => '01-01', + "Independence Day" => '07-26', + "Victory Day" => '11-03', + "Republic Day" => '11-11', + ], $newHolidays, $this->islamicHolidays($year)); + } + + public function islamicHolidays(int $year): array + { + $eidAlFitr = $this->eidAlFitr($year); + $eidAlAdha = $this->eidAlAdha($year); + + $holidays = array_merge( + $this->convertPeriods('Eid al-Adha', $year, $eidAlAdha[0], includeEve: true), + $this->convertPeriods('Eid al-Fitr', $year, $eidAlFitr[0], includeEve: true), + ); + + if (count($eidAlAdha) > 1) { + $holidays = array_merge($holidays, + $this->convertPeriods('2. Eid al-Adha', $year, $eidAlAdha[1], includeEve: true), + ); + } + + if (count($eidAlFitr) > 1) { + $holidays = array_merge($holidays, + $this->convertPeriods('2. Eid al-Fitr', $year, $eidAlFitr[1], includeEve: true), + ); + } + + return $holidays; + } +} diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1970____1970_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1970____1970_.snap new file mode 100644 index 000000000..b286325e6 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1970____1970_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "1970-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "1970-02-16" + }, + { + "name": "Eid al-Adha", + "date": "1970-02-17" + }, + { + "name": "Eid al-Adha Day 2", + "date": "1970-02-18" + }, + { + "name": "Eid al-Adha Day 3", + "date": "1970-02-19" + }, + { + "name": "Eid al-Adha Day 4", + "date": "1970-02-20" + }, + { + "name": "Independence Day", + "date": "1970-07-26" + }, + { + "name": "Victory Day", + "date": "1970-11-03" + }, + { + "name": "Republic Day", + "date": "1970-11-11" + }, + { + "name": "Eid al-Fitr Eve", + "date": "1970-11-29" + }, + { + "name": "Eid al-Fitr", + "date": "1970-11-30" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "1970-12-01" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "1970-12-02" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1973____1973_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1973____1973_.snap new file mode 100644 index 000000000..7bab1549a --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1973____1973_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "1973-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "1973-01-13" + }, + { + "name": "Eid al-Adha", + "date": "1973-01-14" + }, + { + "name": "Eid al-Adha Day 2", + "date": "1973-01-15" + }, + { + "name": "Eid al-Adha Day 3", + "date": "1973-01-16" + }, + { + "name": "Eid al-Adha Day 4", + "date": "1973-01-17" + }, + { + "name": "Independence Day", + "date": "1973-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "1973-10-27" + }, + { + "name": "Eid al-Fitr", + "date": "1973-10-28" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "1973-10-29" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "1973-10-30" + }, + { + "name": "Victory Day", + "date": "1973-11-03" + }, + { + "name": "Republic Day", + "date": "1973-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1974____1974_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1974____1974_.snap new file mode 100644 index 000000000..d6c27fd97 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1974____1974_.snap @@ -0,0 +1,74 @@ +[ + { + "name": "New Year's Day", + "date": "1974-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "1974-01-03" + }, + { + "name": "Eid al-Adha", + "date": "1974-01-04" + }, + { + "name": "Eid al-Adha Day 2", + "date": "1974-01-05" + }, + { + "name": "Eid al-Adha Day 3", + "date": "1974-01-06" + }, + { + "name": "Eid al-Adha Day 4", + "date": "1974-01-07" + }, + { + "name": "Independence Day", + "date": "1974-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "1974-10-16" + }, + { + "name": "Eid al-Fitr", + "date": "1974-10-17" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "1974-10-18" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "1974-10-19" + }, + { + "name": "Victory Day", + "date": "1974-11-03" + }, + { + "name": "Republic Day", + "date": "1974-11-11" + }, + { + "name": "2. Eid al-Adha Eve", + "date": "1974-12-23" + }, + { + "name": "2. Eid al-Adha", + "date": "1974-12-24" + }, + { + "name": "2. Eid al-Adha Day 2", + "date": "1974-12-25" + }, + { + "name": "2. Eid al-Adha Day 3", + "date": "1974-12-26" + }, + { + "name": "2. Eid al-Adha Day 4", + "date": "1974-12-27" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1975____1975_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1975____1975_.snap new file mode 100644 index 000000000..4f578f6df --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1975____1975_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "1975-01-01" + }, + { + "name": "Independence Day", + "date": "1975-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "1975-10-05" + }, + { + "name": "Eid al-Fitr", + "date": "1975-10-06" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "1975-10-07" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "1975-10-08" + }, + { + "name": "Victory Day", + "date": "1975-11-03" + }, + { + "name": "Republic Day", + "date": "1975-11-11" + }, + { + "name": "Eid al-Adha Eve", + "date": "1975-12-12" + }, + { + "name": "Eid al-Adha", + "date": "1975-12-13" + }, + { + "name": "Eid al-Adha Day 2", + "date": "1975-12-14" + }, + { + "name": "Eid al-Adha Day 3", + "date": "1975-12-15" + }, + { + "name": "Eid al-Adha Day 4", + "date": "1975-12-16" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1999____1999_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1999____1999_.snap new file mode 100644 index 000000000..b844d8756 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___1999____1999_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "1999-01-01" + }, + { + "name": "Eid al-Fitr Eve", + "date": "1999-01-18" + }, + { + "name": "Eid al-Fitr", + "date": "1999-01-19" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "1999-01-20" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "1999-01-21" + }, + { + "name": "Eid al-Adha Eve", + "date": "1999-03-26" + }, + { + "name": "Eid al-Adha", + "date": "1999-03-27" + }, + { + "name": "Eid al-Adha Day 2", + "date": "1999-03-28" + }, + { + "name": "Eid al-Adha Day 3", + "date": "1999-03-29" + }, + { + "name": "Eid al-Adha Day 4", + "date": "1999-03-30" + }, + { + "name": "Independence Day", + "date": "1999-07-26" + }, + { + "name": "Victory Day", + "date": "1999-11-03" + }, + { + "name": "Republic Day", + "date": "1999-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2000____2000_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2000____2000_.snap new file mode 100644 index 000000000..7caf9a40f --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2000____2000_.snap @@ -0,0 +1,70 @@ +[ + { + "name": "New Year's Day", + "date": "2000-01-01" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2000-01-07" + }, + { + "name": "Eid al-Fitr", + "date": "2000-01-08" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2000-01-09" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2000-01-10" + }, + { + "name": "Eid al-Adha Eve", + "date": "2000-03-15" + }, + { + "name": "Eid al-Adha", + "date": "2000-03-16" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2000-03-17" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2000-03-18" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2000-03-19" + }, + { + "name": "Independence Day", + "date": "2000-07-26" + }, + { + "name": "Victory Day", + "date": "2000-11-03" + }, + { + "name": "Republic Day", + "date": "2000-11-11" + }, + { + "name": "2. Eid al-Fitr Eve", + "date": "2000-12-26" + }, + { + "name": "2. Eid al-Fitr", + "date": "2000-12-27" + }, + { + "name": "2. Eid al-Fitr Day 2", + "date": "2000-12-28" + }, + { + "name": "2. Eid al-Fitr Day 3", + "date": "2000-12-29" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2001____2001_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2001____2001_.snap new file mode 100644 index 000000000..cd7b2aa43 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2001____2001_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "2001-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "2001-03-04" + }, + { + "name": "Eid al-Adha", + "date": "2001-03-05" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2001-03-06" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2001-03-07" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2001-03-08" + }, + { + "name": "Independence Day", + "date": "2001-07-26" + }, + { + "name": "Victory Day", + "date": "2001-11-03" + }, + { + "name": "Republic Day", + "date": "2001-11-11" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2001-12-15" + }, + { + "name": "Eid al-Fitr", + "date": "2001-12-16" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2001-12-17" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2001-12-18" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2005____2005_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2005____2005_.snap new file mode 100644 index 000000000..28f719006 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2005____2005_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "2005-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "2005-01-19" + }, + { + "name": "Eid al-Adha", + "date": "2005-01-20" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2005-01-21" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2005-01-22" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2005-01-23" + }, + { + "name": "Independence Day", + "date": "2005-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2005-11-02" + }, + { + "name": "Victory Day", + "date": "2005-11-03" + }, + { + "name": "Eid al-Fitr", + "date": "2005-11-03" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2005-11-04" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2005-11-05" + }, + { + "name": "Republic Day", + "date": "2005-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2006____2006_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2006____2006_.snap new file mode 100644 index 000000000..118c82a0e --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2006____2006_.snap @@ -0,0 +1,62 @@ +[ + { + "name": "New Year's Day", + "date": "2006-01-01" + }, + { + "name": "Eid al-Adha Eve", + "date": "2006-01-09" + }, + { + "name": "Eid al-Adha", + "date": "2006-01-10" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2006-01-11" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2006-01-12" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2006-01-13" + }, + { + "name": "Independence Day", + "date": "2006-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2006-10-22" + }, + { + "name": "Eid al-Fitr", + "date": "2006-10-23" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2006-10-24" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2006-10-25" + }, + { + "name": "Victory Day", + "date": "2006-11-03" + }, + { + "name": "Republic Day", + "date": "2006-11-11" + }, + { + "name": "2. Eid al-Adha Eve", + "date": "2006-12-30" + }, + { + "name": "2. Eid al-Adha", + "date": "2006-12-31" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2007____2007_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2007____2007_.snap new file mode 100644 index 000000000..1cf7d51b6 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2007____2007_.snap @@ -0,0 +1,66 @@ +[ + { + "name": "New Year's Day", + "date": "2007-01-01" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2007-01-01" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2007-01-02" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2007-01-03" + }, + { + "name": "Independence Day", + "date": "2007-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2007-10-11" + }, + { + "name": "Eid al-Fitr", + "date": "2007-10-12" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2007-10-13" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2007-10-14" + }, + { + "name": "Victory Day", + "date": "2007-11-03" + }, + { + "name": "Republic Day", + "date": "2007-11-11" + }, + { + "name": "2. Eid al-Adha Eve", + "date": "2007-12-19" + }, + { + "name": "2. Eid al-Adha", + "date": "2007-12-20" + }, + { + "name": "2. Eid al-Adha Day 2", + "date": "2007-12-21" + }, + { + "name": "2. Eid al-Adha Day 3", + "date": "2007-12-22" + }, + { + "name": "2. Eid al-Adha Day 4", + "date": "2007-12-23" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2008____2008_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2008____2008_.snap new file mode 100644 index 000000000..6d34bf930 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2008____2008_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "2008-01-01" + }, + { + "name": "Independence Day", + "date": "2008-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2008-09-29" + }, + { + "name": "Eid al-Fitr", + "date": "2008-09-30" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2008-10-01" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2008-10-02" + }, + { + "name": "Victory Day", + "date": "2008-11-03" + }, + { + "name": "Republic Day", + "date": "2008-11-11" + }, + { + "name": "Eid al-Adha Eve", + "date": "2008-12-07" + }, + { + "name": "Eid al-Adha", + "date": "2008-12-08" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2008-12-09" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2008-12-10" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2008-12-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2009____2009_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2009____2009_.snap new file mode 100644 index 000000000..fcb44f363 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2009____2009_.snap @@ -0,0 +1,54 @@ +[ + { + "name": "New Year's Day", + "date": "2009-01-01" + }, + { + "name": "Independence Day", + "date": "2009-07-26" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2009-09-19" + }, + { + "name": "Eid al-Fitr", + "date": "2009-09-20" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2009-09-21" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2009-09-22" + }, + { + "name": "Victory Day", + "date": "2009-11-03" + }, + { + "name": "Republic Day", + "date": "2009-11-11" + }, + { + "name": "Eid al-Adha Eve", + "date": "2009-11-26" + }, + { + "name": "Eid al-Adha", + "date": "2009-11-27" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2009-11-28" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2009-11-29" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2009-11-30" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2016____2016_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2016____2016_.snap new file mode 100644 index 000000000..2f8530a41 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2016____2016_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2016-01-01" + }, + { + "name": "National Day", + "date": "2016-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2016-07-06" + }, + { + "name": "Eid al-Fitr", + "date": "2016-07-07" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2016-07-08" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2016-07-09" + }, + { + "name": "Independence Day", + "date": "2016-07-26" + }, + { + "name": "Eid al-Adha Eve", + "date": "2016-09-11" + }, + { + "name": "Eid al-Adha", + "date": "2016-09-12" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2016-09-13" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2016-09-14" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2016-09-15" + }, + { + "name": "Victory Day", + "date": "2016-11-03" + }, + { + "name": "Republic Day", + "date": "2016-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2017____2017_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2017____2017_.snap new file mode 100644 index 000000000..eddc702f0 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2017____2017_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2017-01-01" + }, + { + "name": "National Day", + "date": "2017-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2017-06-25" + }, + { + "name": "Eid al-Fitr", + "date": "2017-06-26" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2017-06-27" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2017-06-28" + }, + { + "name": "Independence Day", + "date": "2017-07-26" + }, + { + "name": "Eid al-Adha Eve", + "date": "2017-08-31" + }, + { + "name": "Eid al-Adha", + "date": "2017-09-01" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2017-09-02" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2017-09-03" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2017-09-04" + }, + { + "name": "Victory Day", + "date": "2017-11-03" + }, + { + "name": "Republic Day", + "date": "2017-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2021____2021_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2021____2021_.snap new file mode 100644 index 000000000..e725e2b52 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2021____2021_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2021-01-01" + }, + { + "name": "National Day", + "date": "2021-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2021-05-12" + }, + { + "name": "Eid al-Fitr", + "date": "2021-05-13" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2021-05-14" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2021-05-15" + }, + { + "name": "Eid al-Adha Eve", + "date": "2021-07-19" + }, + { + "name": "Eid al-Adha", + "date": "2021-07-20" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2021-07-21" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2021-07-22" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2021-07-23" + }, + { + "name": "Independence Day", + "date": "2021-07-26" + }, + { + "name": "Victory Day", + "date": "2021-11-03" + }, + { + "name": "Republic Day", + "date": "2021-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2022____2022_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2022____2022_.snap new file mode 100644 index 000000000..e967957f3 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2022____2022_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2022-01-01" + }, + { + "name": "National Day", + "date": "2022-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2022-05-01" + }, + { + "name": "Eid al-Fitr", + "date": "2022-05-02" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2022-05-03" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2022-05-04" + }, + { + "name": "Eid al-Adha Eve", + "date": "2022-07-08" + }, + { + "name": "Eid al-Adha", + "date": "2022-07-09" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2022-07-10" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2022-07-11" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2022-07-12" + }, + { + "name": "Independence Day", + "date": "2022-07-26" + }, + { + "name": "Victory Day", + "date": "2022-11-03" + }, + { + "name": "Republic Day", + "date": "2022-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2023____2023_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2023____2023_.snap new file mode 100644 index 000000000..6fce7b064 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2023____2023_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2023-01-01" + }, + { + "name": "National Day", + "date": "2023-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2023-04-20" + }, + { + "name": "Eid al-Fitr", + "date": "2023-04-21" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2023-04-22" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2023-04-23" + }, + { + "name": "Eid al-Adha Eve", + "date": "2023-06-27" + }, + { + "name": "Eid al-Adha", + "date": "2023-06-28" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2023-06-29" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2023-06-30" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2023-07-01" + }, + { + "name": "Independence Day", + "date": "2023-07-26" + }, + { + "name": "Victory Day", + "date": "2023-11-03" + }, + { + "name": "Republic Day", + "date": "2023-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2024____2024_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2024____2024_.snap new file mode 100644 index 000000000..2c3f2b887 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2024____2024_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2024-01-01" + }, + { + "name": "National Day", + "date": "2024-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2024-04-09" + }, + { + "name": "Eid al-Fitr", + "date": "2024-04-10" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2024-04-11" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2024-04-12" + }, + { + "name": "Eid al-Adha Eve", + "date": "2024-06-16" + }, + { + "name": "Eid al-Adha", + "date": "2024-06-17" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2024-06-18" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2024-06-19" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2024-06-20" + }, + { + "name": "Independence Day", + "date": "2024-07-26" + }, + { + "name": "Victory Day", + "date": "2024-11-03" + }, + { + "name": "Republic Day", + "date": "2024-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2025____2025_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2025____2025_.snap new file mode 100644 index 000000000..b1135d1f5 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2025____2025_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2025-01-01" + }, + { + "name": "National Day", + "date": "2025-01-24" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2025-03-30" + }, + { + "name": "Eid al-Fitr", + "date": "2025-03-31" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2025-04-01" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2025-04-02" + }, + { + "name": "Eid al-Adha Eve", + "date": "2025-06-06" + }, + { + "name": "Eid al-Adha", + "date": "2025-06-07" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2025-06-08" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2025-06-09" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2025-06-10" + }, + { + "name": "Independence Day", + "date": "2025-07-26" + }, + { + "name": "Victory Day", + "date": "2025-11-03" + }, + { + "name": "Republic Day", + "date": "2025-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2032____2032_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2032____2032_.snap new file mode 100644 index 000000000..8990f398e --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2032____2032_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2032-01-01" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2032-01-13" + }, + { + "name": "Eid al-Fitr", + "date": "2032-01-14" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2032-01-15" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2032-01-16" + }, + { + "name": "National Day", + "date": "2032-01-24" + }, + { + "name": "Eid al-Adha Eve", + "date": "2032-03-20" + }, + { + "name": "Eid al-Adha", + "date": "2032-03-21" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2032-03-22" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2032-03-23" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2032-03-24" + }, + { + "name": "Independence Day", + "date": "2032-07-26" + }, + { + "name": "Victory Day", + "date": "2032-11-03" + }, + { + "name": "Republic Day", + "date": "2032-11-11" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2033____2033_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2033____2033_.snap new file mode 100644 index 000000000..8d2388513 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2033____2033_.snap @@ -0,0 +1,74 @@ +[ + { + "name": "New Year's Day", + "date": "2033-01-01" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2033-01-01" + }, + { + "name": "Eid al-Fitr", + "date": "2033-01-02" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2033-01-03" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2033-01-04" + }, + { + "name": "National Day", + "date": "2033-01-24" + }, + { + "name": "Eid al-Adha Eve", + "date": "2033-03-10" + }, + { + "name": "Eid al-Adha", + "date": "2033-03-11" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2033-03-12" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2033-03-13" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2033-03-14" + }, + { + "name": "Independence Day", + "date": "2033-07-26" + }, + { + "name": "Victory Day", + "date": "2033-11-03" + }, + { + "name": "Republic Day", + "date": "2033-11-11" + }, + { + "name": "2. Eid al-Fitr Eve", + "date": "2033-12-22" + }, + { + "name": "2. Eid al-Fitr", + "date": "2033-12-23" + }, + { + "name": "2. Eid al-Fitr Day 2", + "date": "2033-12-24" + }, + { + "name": "2. Eid al-Fitr Day 3", + "date": "2033-12-25" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2034____2034_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2034____2034_.snap new file mode 100644 index 000000000..d981cfe8e --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2034____2034_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2034-01-01" + }, + { + "name": "National Day", + "date": "2034-01-24" + }, + { + "name": "Eid al-Adha Eve", + "date": "2034-02-27" + }, + { + "name": "Eid al-Adha", + "date": "2034-02-28" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2034-03-01" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2034-03-02" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2034-03-03" + }, + { + "name": "Independence Day", + "date": "2034-07-26" + }, + { + "name": "Victory Day", + "date": "2034-11-03" + }, + { + "name": "Republic Day", + "date": "2034-11-11" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2034-12-10" + }, + { + "name": "Eid al-Fitr", + "date": "2034-12-11" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2034-12-12" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2034-12-13" + } +] \ No newline at end of file diff --git a/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2037____2037_.snap b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2037____2037_.snap new file mode 100644 index 000000000..198506f90 --- /dev/null +++ b/tests/.pest/snapshots/Countries/MaldivesTest/it_can_calculate_maldives_holidays_with_data_set___2037____2037_.snap @@ -0,0 +1,58 @@ +[ + { + "name": "New Year's Day", + "date": "2037-01-01" + }, + { + "name": "National Day", + "date": "2037-01-24" + }, + { + "name": "Eid al-Adha Eve", + "date": "2037-01-25" + }, + { + "name": "Eid al-Adha", + "date": "2037-01-26" + }, + { + "name": "Eid al-Adha Day 2", + "date": "2037-01-27" + }, + { + "name": "Eid al-Adha Day 3", + "date": "2037-01-28" + }, + { + "name": "Eid al-Adha Day 4", + "date": "2037-01-29" + }, + { + "name": "Independence Day", + "date": "2037-07-26" + }, + { + "name": "Victory Day", + "date": "2037-11-03" + }, + { + "name": "Eid al-Fitr Eve", + "date": "2037-11-08" + }, + { + "name": "Eid al-Fitr", + "date": "2037-11-09" + }, + { + "name": "Eid al-Fitr Day 2", + "date": "2037-11-10" + }, + { + "name": "Republic Day", + "date": "2037-11-11" + }, + { + "name": "Eid al-Fitr Day 3", + "date": "2037-11-11" + } +] \ No newline at end of file diff --git a/tests/Countries/MaldivesTest.php b/tests/Countries/MaldivesTest.php new file mode 100644 index 000000000..ab001b557 --- /dev/null +++ b/tests/Countries/MaldivesTest.php @@ -0,0 +1,18 @@ +get(); + + expect($holidays) + ->toBeArray() + ->not()->toBeEmpty(); + + expect(formatDates($holidays))->toMatchSnapshot(); +})->with([1970, 1973, 1974, 1975, 1999, 2000, 2001, 2005, 2006, 2007, 2008, 2009, 2016, 2017, 2021, 2022, 2023, 2024, 2025, 2032, 2033, 2034, 2037]);