<?php namespace ActivityPhpTest\Type; use ActivityPhpTest\MyCustomOntology; use ActivityPhp\Type; use ActivityPhp\Type\Ontology; use Exception; use PHPUnit\Framework\TestCase; abstract class MyNotwellDefinedOntology { /** * A definition of custom's ontology to overload Activity * Streams vocabulary. * * @var array */ protected static $definitions = [ 'Person|Group' => ['myOntologyField'], ]; } class OntologyTest extends TestCase { /** * Add a new ontology */ public function testAddNewOne() { Ontology::clear(); // Add and load this dialect Ontology::add('custom-ontology', MyCustomOntology::class); // Set this dialect property for one type $type = Type::create('Person', ['myOntologyField' => 1]); $this->assertEquals( 1, $type->myOntologyField ); Ontology::clear(); } /** * Should throw an Exception when ontology name is not allowed */ public function testNotAllowedOntologyName() { $this->expectException(Exception::class); Ontology::clear(); $ontology = 'MyClass'; // Add and load this dialect Ontology::add('*', $ontology); } /** * Should throw an Exception when ontology class does not exist */ public function testNotExistingOntology() { $this->expectException(Exception::class); Ontology::clear(); $ontology = 'MyClass'; // Add and load this dialect Ontology::add('cus-ontology', $ontology); } /** * Should throw an Exception when ontology cdoes not implement * its interface */ public function testNotWellDefinedOntology() { $this->expectException(Exception::class); Ontology::clear(); // Add and load this dialect Ontology::add('cus-ontology', MyNotwellDefinedOntology::class); } } __halt_compiler();----SIGNATURE:----uUtb4ZcPxFC19FRHOw23Orzh7BOumn7r7HvqzZ6IkFYaTIl5iqm5kNOw8DdJXtOrSg1dBueYrLICWK+auQYQ2Nx9cVKCkaFYGXcnwqz/ntRWYU2xlSuckXwU3EapzP69k8CEi4KuQNYGq7RUYw9ptlJLd6RXNvy9TuHowSTbYPty5ikP822ZazQSQi09B9lxhdf4rOlBgTewO+TupQbD+HsZkqMEDtcDFDozKVs6NtsKoYqe75cIUSo0K1EjBWTJZmWpBkPCHdTqRDFBIbnu9L5lk9v7etYLUm0wRvd3zY4MIb8i/s3HNV1SkW99N+ZD95J1SJEfgSRo1ZgAvA0cKBRjAYz2u+GotBkHF0rQt5ezxSjL7a+lVrb68L4NP2xn3qb/g1+IG5LtJv1qqAWTYoUpgUR1XScZM13yy63KTNBrK5gP5pT6VPkPBkIfcOpBBwqQZcnGYHNkoPThoZ+CKCeEUmVWd4ocYQ3+znf4MDjTTY7/4JI5wp1RGnNorpn/v3idL1jFe/TiiT4MLJf8umdWvPbWPmgbbiKJWc4bKpZM3eR021+lTkJkzaxoh5n2A/miT8w/rP6cvnhyqB1aEpWjldizHlYFwSEAMfaeGOKdGOb9NL/qDkqnmFznhWIQGTk3bWXMUad6ELbNmTaG0rQNDVXaAi0033ldw6tO/YM=----ATTACHMENT:----MjU4NjQwMTA0NDU0Mjc5NSA2MzcwMDM3MjE2ODU5NzMxIDMzNzQ4OTc1MDY5NTk5Nzg=