xref: /plugin/strata/_test/storage_graphs.test.php (revision 5153720fcc1dd2b6e63035d45f7c2bc32e429371)
1*5153720fSfkaag71<?php
2*5153720fSfkaag71require_once('stratatest.inc.php');
3*5153720fSfkaag71
4*5153720fSfkaag71/**
5*5153720fSfkaag71 * Tests storage graphs.
6*5153720fSfkaag71 *
7*5153720fSfkaag71 * @group plugin_strata_storage
8*5153720fSfkaag71 * @group plugin_strata
9*5153720fSfkaag71 * @group plugins
10*5153720fSfkaag71 */
11*5153720fSfkaag71class storage_graphs_test extends Strata_UnitTestCase {
12*5153720fSfkaag71
13*5153720fSfkaag71	function testGraphs() {
14*5153720fSfkaag71		$OK = $this->_triples->addTriple('Bob', 'knows', 'Alice', 'knowledgebase of bob');
15*5153720fSfkaag71		$this->assertTrue($OK);
16*5153720fSfkaag71		$OK = $this->_triples->addTriple('Alice', 'knows', 'Carol', 'knowledgebase of alice');
17*5153720fSfkaag71		$this->assertTrue($OK);
18*5153720fSfkaag71
19*5153720fSfkaag71		$expected1 = array('subject' => 'Bob', 'predicate' => 'knows', 'object' => 'Alice', 'graph' => 'knowledgebase of bob');
20*5153720fSfkaag71		$expected2 = array('subject' => 'Alice', 'predicate' => 'knows', 'object' => 'Carol', 'graph' => 'knowledgebase of alice');
21*5153720fSfkaag71
22*5153720fSfkaag71		// Retrieve the wiki graph
23*5153720fSfkaag71		$data = $this->_triples->fetchTriples(null, null, null, 'wiki');
24*5153720fSfkaag71		$this->assertEquals($data, array());
25*5153720fSfkaag71
26*5153720fSfkaag71		// Retrieve Bobs graph
27*5153720fSfkaag71		$data = $this->_triples->fetchTriples(null, null, null, 'knowledgebase of bob');
28*5153720fSfkaag71		$this->assertEquals($data, array($expected1));
29*5153720fSfkaag71
30*5153720fSfkaag71		// Retrieve Alices graph
31*5153720fSfkaag71		$data = $this->_triples->fetchTriples(null, null, null, 'knowledgebase of alice');
32*5153720fSfkaag71		$this->assertEquals($data, array($expected2));
33*5153720fSfkaag71
34*5153720fSfkaag71		// Retrieve all graphs
35*5153720fSfkaag71		$data = $this->_triples->fetchTriples(null, null, null, null);
36*5153720fSfkaag71		$this->assertEquals($data, array($expected1, $expected2));
37*5153720fSfkaag71	}
38*5153720fSfkaag71}
39*5153720fSfkaag71
40