1<?php 2 3namespace Rubix\ML\Tests\Persisters\Serializers; 4 5use Rubix\ML\Encoding; 6use Rubix\ML\Persistable; 7use Rubix\ML\Classifiers\DummyClassifier; 8use Rubix\ML\Persisters\Serializers\Gzip; 9use Rubix\ML\Persisters\Serializers\Serializer; 10use PHPUnit\Framework\TestCase; 11 12/** 13 * @group Serializers 14 * @covers \Rubix\ML\Persisters\Serializers\Gzip 15 */ 16class GzipTest extends TestCase 17{ 18 /** 19 * @var \Rubix\ML\Persistable 20 */ 21 protected $persistable; 22 23 /** 24 * @var \Rubix\ML\Persisters\Serializers\Gzip 25 */ 26 protected $serializer; 27 28 /** 29 * @before 30 */ 31 protected function setUp() : void 32 { 33 $this->serializer = new Gzip(1); 34 35 $this->persistable = new DummyClassifier(); 36 } 37 38 /** 39 * @test 40 */ 41 public function build() : void 42 { 43 $this->assertInstanceOf(Gzip::class, $this->serializer); 44 $this->assertInstanceOf(Serializer::class, $this->serializer); 45 } 46 47 /** 48 * @test 49 */ 50 public function serializeUnserialize() : void 51 { 52 $data = $this->serializer->serialize($this->persistable); 53 54 $this->assertInstanceOf(Encoding::class, $data); 55 56 $persistable = $this->serializer->unserialize($data); 57 58 $this->assertInstanceOf(DummyClassifier::class, $persistable); 59 $this->assertInstanceOf(Persistable::class, $persistable); 60 } 61} 62