rdfui-8.x-1.0-beta4/src/Tests/EasyRdfConverterTest.php
src/Tests/EasyRdfConverterTest.php
<?php
namespace Drupal\rdfui\Tests;
use Drupal\rdfui\SchemaOrgConverter;
use Drupal\simpletest\KernelTestBase;
/**
* Tests the Easy Rdf Converter Class & SchemaOrgConverter class.
*
* @group RDF UI
*/
class EasyRdfConverterTest extends KernelTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = array('rdf', 'rdfui');
/**
* {@inheritdoc}
*/
public function setUp() {
parent::setUp();
$this->graph = new SchemaOrgConverter();
}
/**
* Tests that Schema.org types are correctly loaded.
*/
protected function testSchemaTypes() {
$types = $this->graph->getListTypes();
$this->assertTrue(in_array("Person", $types), 'Schema.Org types loaded correctly');
$this->assertTrue(in_array("Event", $types), 'Schema.Org types loaded correctly');
$this->assertTrue(in_array("Recipe", $types), 'Schema.Org types loaded correctly');
$this->assertFalse(in_array("name", $types), 'Properties are not in the list of Types');
}
/**
* Tests that Schema.org properties are correctly loaded.
*/
protected function testSchemaProperty() {
$properties = $this->graph->getListProperties();
$this->assertTrue(in_array("name", $properties), 'Schema.Org properties loaded correctly');
$this->assertTrue(in_array("url", $properties), 'Schema.Org properties loaded correctly');
$this->assertTrue(in_array("image", $properties), 'Schema.Org properties loaded correctly');
$this->assertFalse(in_array("Person", $properties), 'Types are not in the list of Properties');
}
/**
* Tests that correct properties are returned for a given type.
*/
protected function testPropertiesOfType() {
$properties = $this->graph->getTypeProperties("schema:Article");
$this->assertTrue(in_array("wordCount", $properties), 'Properties of Type(Article) loaded.');
$this->assertTrue(in_array("author", $properties), 'Properties of parent Type(CreativeWork)loaded.');
$this->assertTrue(in_array("name", $properties), 'Properties of base Type(Thing) loaded.');
$this->assertFalse(in_array("birthDate", $properties), 'Properties not in the Type are not loaded.');
// Test that deprecated properties are not listed.
$properties = $this->graph->getTypeProperties("schema:Event");
$this->assertTrue(in_array("attendee", $properties), 'Property "attendee" of Type "Event" is listed.');
$this->assertFalse(in_array("attendees", $properties), 'Deprecated property "attendees" of Type "Event" is not listed.');
}
}
