function test_read_data_does_not_add_body_triples_on_failed_request()
 {
     $fake_request_factory = new FakeRequestFactory();
     $fake_response = new HttpResponse();
     $fake_response->status_code = 404;
     $fake_response->body = $this->_single_triple;
     $fake_response->headers['content-type'] = 'application/rdf+xml';
     $fake_request = new FakeHttpRequest($fake_response);
     $fake_request_factory->register('GET', 'http://example.org/thing', $fake_request);
     $g = new SimpleGraph();
     $g->set_request_factory($fake_request_factory);
     $g->read_data('http://example.org/thing');
     $this->assertFalse($g->has_literal_triple('http://example.org/subj', 'http://example.org/pred', 'foo'));
 }
 function test_update_adds_typed_literal()
 {
     $fake_request_factory = new FakeRequestFactory();
     $fake_response = new HttpResponse();
     $fake_response->status_code = 200;
     $fake_response->body = $this->_select_result2;
     $query = "select ?_uri ?name where { optional {?_uri <http://example.org/name> ?name. } }";
     $fake_request = new FakeHttpRequest($fake_response);
     $fake_request_factory->register('GET', "http://example.org/store/services/sparql?query=" . urlencode($query) . '&output=json', $fake_request);
     $fake_request_cs = new FakeHttpRequest(new HttpResponse());
     $fake_request_factory->register('POST', "http://example.org/store/meta", $fake_request_cs);
     $dt = new DataTable("http://example.org/store", null, $fake_request_factory);
     $dt->map('http://example.org/name', 'name');
     $dt->set('name', 'foo', 'literal', null, 'http://example.org/type');
     $dt->update();
     $cs = new SimpleGraph();
     $cs->from_rdfxml($fake_request_cs->get_body());
     $changesets = $cs->get_subjects_of_type(CS_CHANGESET);
     $this->assertEquals(1, count($changesets));
     $additions = $cs->get_resource_triple_values($changesets[0], CS_ADDITION);
     $this->assertEquals(1, count($additions));
     $this->assertTrue($cs->has_literal_triple($additions[0], RDF_OBJECT, "foo", null, 'http://example.org/type'));
 }