public function testGeoPointType() { $message = NestedMessage::create(); $geoJson = '{"type":"Point","coordinates":[102.0,0.5]}'; $point = GeoPoint::fromArray(json_decode($geoJson, true)); $message->set('location', $point); $this->assertSame($message->get('location')->getLatitude(), 0.5); $this->assertSame($message->get('location')->getLongitude(), 102.0); $this->assertSame($message->toArray()['location'], $point->toArray()); }
<?php error_reporting(-1); date_default_timezone_set('UTC'); // Ensure that composer has installed all dependencies if (!file_exists(dirname(__DIR__) . '/composer.lock')) { die("Dependencies must be installed using composer:\n\nphp composer.phar install\n\n" . "See http://getcomposer.org for help with installing composer\n"); } // Include the composer autoloader $loader = (require dirname(__DIR__) . '/vendor/autoload.php'); // auto registers the schema with the MessageResolver // only done for tests or dynamic messages. \Gdbots\Tests\Pbj\Fixtures\EmailMessage::schema(); \Gdbots\Tests\Pbj\Fixtures\NestedMessage::schema(); \Gdbots\Tests\Pbj\Fixtures\MapsMessage::schema();
public function testCloneIsMutableAfterOriginalIsFrozen() { $message = $this->createEmailMessage(); $nestedMessage = NestedMessage::create(); $message->set('nested', $nestedMessage); $nestedMessage->set('test1', 'original'); $message->freeze(); $message2 = clone $message; $message2->set('from_name', 'marge')->get('nested')->set('test1', 'clone'); try { $message->set('from_name', 'homer')->get('nested')->set('test1', 'original'); $this->fail('Original message should still be immutable.'); } catch (FrozenMessageIsImmutable $e) { } }
protected function getTypeValues() { return ['BigInt' => [new BigNumber(0), new BigNumber('18446744073709551615')], 'Binary' => 'aG9tZXIgc2ltcHNvbg==', 'Blob' => 'aG9tZXIgc2ltcHNvbg==', 'Boolean' => [false, true], 'Date' => new \DateTime(), 'DateTime' => new \DateTime(), 'Decimal' => 3.14, 'DynamicField' => DynamicField::createIntVal('int_val', 1), 'Float' => 13213.032468, 'GeoPoint' => new GeoPoint(0.5, 102.0), 'IntEnum' => IntEnum::UNKNOWN(), 'Int' => [0, 4294967295], 'MediumInt' => [0, 16777215], 'MediumBlob' => 'aG9tZXIgc2ltcHNvbg==', 'MediumText' => 'medium text', 'Message' => NestedMessage::create(), 'MessageRef' => new MessageRef(NestedMessage::schema()->getCurie(), UuidIdentifier::generate()), 'Microtime' => Microtime::create(), 'SignedBigInt' => [new BigNumber('-9223372036854775808'), new BigNumber('9223372036854775807')], 'SignedMediumInt' => [-8388608, 8388607], 'SignedSmallInt' => [-32768, 32767], 'SignedTinyInt' => [-128, 127], 'SmallInt' => [0, 65535], 'StringEnum' => StringEnum::UNKNOWN(), 'String' => 'string', 'Text' => 'text', 'TimeUuid' => TimeUuidIdentifier::generate(), 'Timestamp' => time(), 'TinyInt' => [0, 255], 'Uuid' => UuidIdentifier::generate()]; }