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