/** * @test */ public function it_constructs_a_prototype() { $intPrototype = Integer::prototype(); $this->assertInstanceOf('Prooph\\Processing\\Type\\Prototype', $intPrototype); $description = $intPrototype->typeDescription(); $this->assertEquals('Prooph\\Processing\\Type\\Integer', $intPrototype->of()); $this->assertEquals('Integer', $description->label()); $this->assertEquals('integer', $description->nativeType()); $this->assertFalse($description->hasIdentifier()); }
/** * @test */ function it_can_be_converted_to_array_and_back() { $processingTypes = ProcessingTypes::support([String::prototype(), Integer::prototype()]); $definition = $processingTypes->toArray(); $copiedProcessingTypes = ProcessingTypes::fromArray($definition); $this->assertTrue($copiedProcessingTypes->isSupported(String::prototype())); $this->assertTrue($copiedProcessingTypes->isSupported(Integer::prototype())); $this->assertFalse($copiedProcessingTypes->isSupported(Float::prototype())); $allProcessingTypes = ProcessingTypes::supportAll(); $definition = $allProcessingTypes->toArray(); $copiedProcessingTypes = ProcessingTypes::fromArray($definition); $this->assertTrue($copiedProcessingTypes->isSupported(Float::prototype())); }
/** * @return array[propertyName => Prototype] */ public static function getPropertyPrototypes() { return array('id' => Integer::prototype(), 'name' => String::prototype(), 'address' => SourceAddress::prototype()); }
/** * @return array[propertyName => Prototype] */ public static function getPropertyPrototypes() { return ['id' => IntegerOrNull::prototype(), 'name' => String::prototype(), 'age' => Integer::prototype()]; }
/** * @return array[propertyName => Prototype] */ public static function getPropertyPrototypes() { return array('street' => String::prototype(), 'streetNumber' => Integer::prototype(), 'zip' => String::prototype(), 'city' => String::prototype()); }
/** * @return array[propertyName => Prototype] */ public static function getPropertyPrototypes() { return ['name' => \Prooph\Processing\Type\String::prototype(), 'age' => \Prooph\Processing\Type\Integer::prototype(), 'created_at' => \Prooph\Processing\Type\DateTime::prototype(), 'price' => \Prooph\Processing\Type\Float::prototype(), 'active' => \Prooph\Processing\Type\Boolean::prototype()]; }
/** * @return array[propertyName => Prototype] */ public static function getPropertyPrototypes() { return ['ean' => String::prototype(), 'name' => String::prototype(), 'price' => Integer::prototype(), 'currency' => String::prototype()]; }