/** * @test * @dataProvider provideValidValues */ public function it_can_be_initialized_with_valid_values_and_can_be_converted_to_string_or_json_and_back($value) { $unknown = Unknown::fromNativeValue($value); $unknownString = $unknown->toString(); $unknownFromString = Unknown::fromString($unknownString); $this->assertTrue($unknown->sameAs($unknownFromString)); $unknownJson = json_encode($unknown); $unknownFromJson = Unknown::fromJsonDecodedData(json_decode($unknownJson, true)); $this->assertTrue($unknown->sameAs($unknownFromJson)); }