convert([ 'surname' => ' asdf', 'fake_age' => 3, 'emails' => [ 'sfdgsa', 'af234f', 'asdf33333' ], 'buy' => [ 'phrase' => 'Buy buy!!!', 'length' => 10, 'isFirst' => true, 'extraData2' => '1234' ], 'extraData1' => 'qwer' ], HelloRequest::class); $this->assertInstanceOf(HelloRequest::class, $dto); $this->assertEquals('asdf', $dto->surname); $this->assertEquals(3, $dto->age); $this->assertEquals([ 'sfdgsa', 'af234f', 'asdf33333' ], $dto->emails); $this->assertInstanceOf(BuyRequest::class, $dto->buy); $this->assertEquals('Buy buy!!!', $dto->buy->phrase); $this->assertEquals(10, $dto->buy->length); $this->assertEquals(true, $dto->buy->isFirst); } }