xref: /plugin/strata/_test/storage.test.php (revision 5153720fcc1dd2b6e63035d45f7c2bc32e429371)
1*5153720fSfkaag71<?php
2*5153720fSfkaag71require_once('stratatest.inc.php');
3*5153720fSfkaag71
4*5153720fSfkaag71/**
5*5153720fSfkaag71 * Tests storage.
6*5153720fSfkaag71 *
7*5153720fSfkaag71 * @group plugin_strata_storage
8*5153720fSfkaag71 * @group plugin_strata
9*5153720fSfkaag71 * @group plugins
10*5153720fSfkaag71 */
11*5153720fSfkaag71class storage_test extends Strata_UnitTestCase {
12*5153720fSfkaag71
13*5153720fSfkaag71	function testAdd() {
14*5153720fSfkaag71		$OK = $this->_triples->addTriple('Bob', 'knows', 'Alice', 'wiki');
15*5153720fSfkaag71		$this->assertTrue($OK);
16*5153720fSfkaag71		$data = $this->_triples->fetchTriples();
17*5153720fSfkaag71		$expected = array(
18*5153720fSfkaag71			array('subject' => 'Bob', 'predicate' => 'knows', 'object' => 'Alice', 'graph' => 'wiki')
19*5153720fSfkaag71		);
20*5153720fSfkaag71		$this->assertEquals($data, $expected);
21*5153720fSfkaag71	}
22*5153720fSfkaag71
23*5153720fSfkaag71	function testAddArray() {
24*5153720fSfkaag71		$OK = $this->_triples->addTriples(array(array('subject' => 'Bob', 'predicate' => 'knows', 'object' => 'Alice')), 'wiki');
25*5153720fSfkaag71		$this->assertTrue($OK);
26*5153720fSfkaag71		$data = $this->_triples->fetchTriples();
27*5153720fSfkaag71		$expected = array(
28*5153720fSfkaag71			array('subject' => 'Bob', 'predicate' => 'knows', 'object' => 'Alice', 'graph' => 'wiki')
29*5153720fSfkaag71		);
30*5153720fSfkaag71		$this->assertEquals($data, $expected);
31*5153720fSfkaag71	}
32*5153720fSfkaag71
33*5153720fSfkaag71	function testAddMulti() {
34*5153720fSfkaag71		$OK = $this->_triples->addTriple('Bob', 'knows', 'Alice', 'wiki');
35*5153720fSfkaag71		$this->assertTrue($OK);
36*5153720fSfkaag71		$OK =$this->_triples->addTriple('Alice', 'knows', 'Carol', 'wiki');
37*5153720fSfkaag71		$this->assertTrue($OK);
38*5153720fSfkaag71		$data = $this->_triples->fetchTriples();
39*5153720fSfkaag71		$expected = array(
40*5153720fSfkaag71			array('subject' => 'Bob', 'predicate' => 'knows', 'object' => 'Alice', 'graph' => 'wiki'),
41*5153720fSfkaag71			array('subject' => 'Alice', 'predicate' => 'knows', 'object' => 'Carol', 'graph' => 'wiki')
42*5153720fSfkaag71		);
43*5153720fSfkaag71		$this->assertEquals($data, $expected);
44*5153720fSfkaag71	}
45*5153720fSfkaag71
46*5153720fSfkaag71	function testSpecialChars() {
47*5153720fSfkaag71		$OK = $this->_triples->addTriple('*', 'select', '%', 'wiki');
48*5153720fSfkaag71		$this->assertTrue($OK);
49*5153720fSfkaag71		$OK =$this->_triples->addTriple('_', '(', '`', 'wiki');
50*5153720fSfkaag71		$this->assertTrue($OK);
51*5153720fSfkaag71		$OK =$this->_triples->addTriple(';', '\'', '"', 'wiki');
52*5153720fSfkaag71		$this->assertTrue($OK);
53*5153720fSfkaag71		$data = $this->_triples->fetchTriples();
54*5153720fSfkaag71		$expected = array(
55*5153720fSfkaag71			array('subject' => '*', 'predicate' => 'select', 'object' => '%', 'graph' => 'wiki'),
56*5153720fSfkaag71			array('subject' => '_', 'predicate' => '(', 'object' => '`', 'graph' => 'wiki'),
57*5153720fSfkaag71			array('subject' => ';', 'predicate' => '\'', 'object' => '"', 'graph' => 'wiki')
58*5153720fSfkaag71		);
59*5153720fSfkaag71		$this->assertEquals($data, $expected);
60*5153720fSfkaag71	}
61*5153720fSfkaag71}
62*5153720fSfkaag71
63