From 45126625380f7e3db5f39f391fd0e4fcd0fc4a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Mat=C4=9Bj=C4=8Dek?= Date: Mon, 16 Jan 2023 12:34:12 +0100 Subject: [PATCH] Data: add serialize support --- src/Data/Data.php | 14 ++++++++++++++ tests/src/AresTest.php | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/Data/Data.php b/src/Data/Data.php index b2d2d93..110340c 100644 --- a/src/Data/Data.php +++ b/src/Data/Data.php @@ -106,6 +106,20 @@ public function __toString() } + public function __serialize(): array + { + return $this->getData(); + } + + + public function __unserialize(array $data): void + { + foreach ($data as $name => $value) { + $this->$name = $value; + } + } + + /** * @return array */ diff --git a/tests/src/AresTest.php b/tests/src/AresTest.php index bf85052..b684ead 100644 --- a/tests/src/AresTest.php +++ b/tests/src/AresTest.php @@ -35,6 +35,8 @@ public function testFreelancer(): void Assert::same('A', $aresData->psu(Ares\Data\SubjectFlag::RZP_4)); Assert::same('N', $aresData->psu(Ares\Data\SubjectFlag::NRPZS_5)); Assert::same('A', $aresData->psu(Ares\Data\SubjectFlag::RPDPH_6)); + + Assert::equal($aresData, unserialize(serialize($aresData))); }