@@ -269,20 +269,6 @@ def io_name
269269
270270 RSpec ::Matchers . define :be_equivalent_graph do |expected , info |
271271 match do |actual |
272- def normalize ( graph )
273- case graph
274- when RDF ::Enumerable then graph
275- when IO , StringIO
276- RDF ::Repository . new ( graph , base_uri : @info . action )
277- else
278- # Figure out which parser to use
279- r = RDF ::Repository . new
280- reader_class = RDF ::Reader . for ( ) { graph }
281- reader_class . new ( graph , base_uri : @info . action ) . each { |s | r << s }
282- r
283- end
284- end
285-
286272 @info = if ( info . id rescue false )
287273 info
288274 elsif info . is_a? ( Logger )
@@ -314,6 +300,33 @@ def normalize(graph)
314300 "Results:\n #{ @actual . dump ( format , standard_prefixes : true , literal_shorthand : false , validate : false ) rescue @actual . inspect } " +
315301 "\n Debug:\n #{ @info . logger } "
316302 end
303+
304+ failure_message_when_negated do |actual |
305+ format = case
306+ when RDF . const_defined? ( :TriG ) then :trig
307+ when RDF . const_defined? ( :Turtle ) then :ttl
308+ else :nquads
309+ end
310+ info = @info . respond_to? ( :information ) ? @info . information : @info . inspect
311+ "Graphs identical\n " +
312+ "\n #{ info + "\n " unless info . empty? } " +
313+ "Results:\n #{ actual . dump ( format , standard_prefixes : true , literal_shorthand : false , validate : false ) rescue @actual . inspect } " +
314+ "\n Debug:\n #{ @info . logger } "
315+ end
316+
317+ def normalize ( graph )
318+ case graph
319+ when RDF ::Enumerable then graph
320+ when IO , StringIO
321+ RDF ::Repository . new ( graph , base_uri : @info . action )
322+ else
323+ # Figure out which parser to use
324+ r = RDF ::Repository . new
325+ reader_class = RDF ::Reader . for ( ) { graph }
326+ reader_class . new ( graph , base_uri : @info . action ) . each { |s | r << s }
327+ r
328+ end
329+ end
317330 end
318331
319332 require 'json'
@@ -347,6 +360,15 @@ def normalize(graph)
347360 "\n #{ info + "\n " unless info . empty? } " +
348361 "\n Debug:\n #{ @info . logger } "
349362 end
363+
364+ failure_message_when_negated do |actual |
365+ info = @info . respond_to? ( :information ) ? @info . information : @info . inspect
366+
367+ "Expected not to produce the following:\n " +
368+ "Actual : #{ actual . is_a? ( String ) ? actual : actual . to_json ( JSON_STATE ) rescue 'malformed json' } \n " +
369+ "\n #{ info + "\n " unless info . empty? } " +
370+ "\n Debug:\n #{ @info . logger } "
371+ end
350372 end
351373
352374 end # Matchers
0 commit comments