rdf-spec 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -15,7 +15,7 @@ Documentation
15
15
  Dependencies
16
16
  ------------
17
17
 
18
- * [RDF.rb](http://gemcutter.org/gems/rdf) (>= 0.1.4)
18
+ * [RDF.rb](http://gemcutter.org/gems/rdf) (>= 0.1.6)
19
19
  * [RSpec](http://gemcutter.org/gems/rspec) (>= 1.3.0)
20
20
 
21
21
  Installation
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.6
@@ -40,7 +40,8 @@ share_as :RDF_Enumerable do
40
40
  @enumerable.has_statement?(statement).should be_true
41
41
  end
42
42
 
43
- @enumerable.has_statement?([RDF::Node.new, RDF::URI.new("http://example.org/unknown"), RDF::Node.new]).should be_false
43
+ unknown_statement = RDF::Statement.new(RDF::Node.new, RDF::URI.new("http://example.org/unknown"), RDF::Node.new)
44
+ @enumerable.has_statement?(unknown_statement).should be_false
44
45
  end
45
46
 
46
47
  it "should support #each_statement" do
@@ -130,16 +131,25 @@ share_as :RDF_Enumerable do
130
131
  it "should support #has_subject?" do
131
132
  @enumerable.respond_to?(:has_subject?).should be_true
132
133
 
134
+ checked = []
133
135
  @statements.each do |statement|
134
- @enumerable.has_subject?(statement.subject).should be_true
136
+ @enumerable.has_subject?(statement.subject).should be_true unless checked.include?(statement.subject)
137
+ checked << statement.subject
135
138
  end
139
+ uri = RDF::URI.new('http://example.org/does/not/have/this/uri')
140
+ @enumerable.has_predicate?(uri).should be_false
136
141
  end
137
142
 
138
143
  it "should support #each_subject" do
139
144
  @enumerable.respond_to?(:each_subject).should be_true
140
145
 
141
146
  @enumerable.each_subject.should be_instance_of(Enumerable::Enumerator)
142
- @enumerable.each_subject { |value| value.should be_a_resource }
147
+ subjects = @statements.map { |s| s.subject }.uniq
148
+ @enumerable.each_subject.to_a.size.should == subjects.size
149
+ @enumerable.each_subject do |value|
150
+ value.should be_a_value
151
+ subjects.should include value
152
+ end
143
153
  end
144
154
 
145
155
  it "should support #enum_subject" do
@@ -160,16 +170,25 @@ share_as :RDF_Enumerable do
160
170
  it "should support #has_predicate?" do
161
171
  @enumerable.respond_to?(:has_predicate?).should be_true
162
172
 
173
+ checked = []
163
174
  @statements.each do |statement|
164
- @enumerable.has_predicate?(statement.predicate).should be_true
175
+ @enumerable.has_predicate?(statement.predicate).should be_true unless checked.include?(statement.object)
176
+ checked << statement.predicate
165
177
  end
178
+ uri = RDF::URI.new('http://example.org/does/not/have/this/uri')
179
+ @enumerable.has_predicate?(uri).should be_false
166
180
  end
167
181
 
168
182
  it "should support #each_predicate" do
169
183
  @enumerable.respond_to?(:each_predicate).should be_true
170
184
 
185
+ predicates = @statements.map { |s| s.predicate }.uniq
186
+ @enumerable.each_predicate.to_a.size.should == predicates.size
171
187
  @enumerable.each_predicate.should be_instance_of(Enumerable::Enumerator)
172
- @enumerable.each_predicate { |value| value.should be_a_uri }
188
+ @enumerable.each_predicate do |value|
189
+ value.should be_a_uri
190
+ predicates.should include value
191
+ end
173
192
  end
174
193
 
175
194
  it "should support #enum_predicate" do
@@ -190,16 +209,25 @@ share_as :RDF_Enumerable do
190
209
  it "should support #has_object?" do
191
210
  @enumerable.respond_to?(:has_object?).should be_true
192
211
 
212
+ checked = []
193
213
  @statements.each do |statement|
194
- @enumerable.has_object?(statement.object).should be_true
214
+ @enumerable.has_object?(statement.object).should be_true unless checked.include?(statement.object)
215
+ checked << statement.object
195
216
  end
217
+ uri = RDF::URI.new('http://example.org/does/not/have/this/uri')
218
+ @enumerable.has_object?(uri).should be_false
196
219
  end
197
220
 
198
221
  it "should support #each_object" do
199
222
  @enumerable.respond_to?(:each_object).should be_true
200
223
 
224
+ objects = @statements.map { |s| s.object }.uniq
225
+ @enumerable.each_object.to_a.size.should == objects.size
201
226
  @enumerable.each_object.should be_instance_of(Enumerable::Enumerator)
202
- @enumerable.each_object { |value| value.should be_a_value }
227
+ @enumerable.each_object do |value|
228
+ value.should be_a_value
229
+ objects.should include value
230
+ end
203
231
  end
204
232
 
205
233
  it "should support #enum_object" do
@@ -225,13 +253,21 @@ share_as :RDF_Enumerable do
225
253
  @enumerable.has_context?(statement.context).should be_true
226
254
  end
227
255
  end
256
+ uri = RDF::URI.new('http://example.org/does/not/have/this/uri')
257
+ @enumerable.has_context?(uri).should be_false
228
258
  end
229
259
 
230
260
  it "should support #each_context" do
231
261
  @enumerable.respond_to?(:each_context).should be_true
232
262
 
263
+ contexts = @statements.map { |s| s.context }.uniq
264
+ contexts.delete nil
265
+ @enumerable.each_context.to_a.size.should == contexts.size
233
266
  @enumerable.each_context.should be_instance_of(Enumerable::Enumerator)
234
- @enumerable.each_context { |value| value.should be_a_resource }
267
+ @enumerable.each_context do |value|
268
+ value.should be_a_resource
269
+ contexts.should include value
270
+ end
235
271
  end
236
272
 
237
273
  it "should support #enum_context" do
@@ -0,0 +1,46 @@
1
+ require 'rdf'
2
+ require 'rdf/spec'
3
+
4
+ share_as :RDF_Graph do
5
+
6
+ before :each do
7
+ raise '+@new+ must be defined in a before(:each) block' unless instance_variable_get('@new')
8
+ end
9
+
10
+ context "unnamed graphs" do
11
+ it "should be instantiable" do
12
+ lambda { @new.call }.should_not raise_error
13
+ end
14
+
15
+ it "should be unnamed" do
16
+ graph = @new.call
17
+ graph.unnamed?.should be_true
18
+ graph.named?.should be_false
19
+ end
20
+
21
+ it "should not have a context" do
22
+ graph = @new.call
23
+ graph.context.should be_nil
24
+ graph.contexts.size.should == 0
25
+ end
26
+ end
27
+
28
+ context "named graphs" do
29
+ it "should be instantiable" do
30
+ lambda { @new.call }.should_not raise_error
31
+ end
32
+
33
+ it "should be named" do
34
+ graph = @new.call("http://rdf.rubyforge.org/")
35
+ graph.unnamed?.should be_false
36
+ graph.named?.should be_true
37
+ end
38
+
39
+ it "should have a context" do
40
+ graph = @new.call("http://rdf.rubyforge.org/")
41
+ graph.context.should_not be_nil
42
+ graph.contexts.size.should == 1
43
+ end
44
+ end
45
+
46
+ end
@@ -0,0 +1,160 @@
1
+ require 'rdf'
2
+ require 'rdf/spec'
3
+
4
+ share_as :RDF_Literal do
5
+
6
+ XSD = RDF::XSD
7
+
8
+ before :each do
9
+ raise '+@new+ must be defined in a before(:each) block' unless instance_variable_get('@new')
10
+ end
11
+
12
+ context "plain literals" do
13
+ before :each do
14
+ @empty = @new.call('')
15
+ @hello = @new.call('Hello')
16
+ @all = [@empty, @hello]
17
+ end
18
+
19
+ it "should be instantiable" do
20
+ lambda { @new.call('') }.should_not raise_error
21
+ @all.each do |literal|
22
+ literal.plain?.should be_true
23
+ end
24
+ end
25
+
26
+ it "should not have a language" do
27
+ @all.each do |literal|
28
+ literal.language.should be_nil
29
+ end
30
+ end
31
+
32
+ it "should not have a datatype" do
33
+ @all.each do |literal|
34
+ literal.typed?.should be_false
35
+ literal.datatype.should be_nil
36
+ end
37
+ end
38
+
39
+ it "should support equality comparisons" do
40
+ @all.each do |literal|
41
+ copy = @new.call(literal.value)
42
+ literal.should eql(copy)
43
+ literal.should == copy
44
+
45
+ literal.should_not eql(literal.value)
46
+ literal.should == literal.value # FIXME
47
+ end
48
+ end
49
+
50
+ it "should have a string representation" do
51
+ @empty.to_s.should eql('""')
52
+ @hello.to_s.should eql('"Hello"')
53
+ end
54
+ end
55
+
56
+ context "languaged-tagged literals" do
57
+ before :each do
58
+ @empty = @new.call('', :language => :en)
59
+ @hello = @new.call('Hello', :language => :en)
60
+ @all = [@empty, @hello]
61
+ end
62
+
63
+ it "should be instantiable" do
64
+ lambda { @new.call('', :language => :en) }.should_not raise_error
65
+ end
66
+
67
+ it "should have a language" do
68
+ @all.each do |literal|
69
+ literal.language.should_not be_nil
70
+ literal.language.should == :en
71
+ end
72
+ end
73
+
74
+ it "should not have a datatype" do
75
+ @all.each do |literal|
76
+ literal.typed?.should be_false
77
+ literal.datatype.should be_nil
78
+ end
79
+ end
80
+
81
+ it "should support equality comparisons" do
82
+ @all.each do |literal|
83
+ copy = @new.call(literal.value, :language => literal.language)
84
+ literal.should eql(copy)
85
+ literal.should == copy
86
+ end
87
+ end
88
+
89
+ it "should have a string representation" do
90
+ @empty.to_s.should eql('""@en')
91
+ @hello.to_s.should eql('"Hello"@en')
92
+ end
93
+ end
94
+
95
+ context "datatyped literals" do
96
+ require 'date'
97
+
98
+ before :each do
99
+ @string = @new.call('')
100
+ @false = @new.call(false)
101
+ @true = @new.call(true)
102
+ @int = @new.call(123)
103
+ @long = @new.call(9223372036854775807)
104
+ @double = @new.call(3.1415)
105
+ @time = @new.call(Time.now)
106
+ @date = @new.call(Date.new(2010))
107
+ @datetime = @new.call(DateTime.new(2010))
108
+ @all = [@false, @true, @int, @long, @double, @time, @date, @datetime]
109
+ end
110
+
111
+ it "should be instantiable" do
112
+ lambda { @new.call(123) }.should_not raise_error
113
+ lambda { @new.call(123, :datatype => XSD.int) }.should_not raise_error
114
+ end
115
+
116
+ it "should not have a language" do
117
+ @all.each do |literal|
118
+ literal.language.should be_nil
119
+ end
120
+ end
121
+
122
+ it "should have a datatype" do
123
+ @all.each do |literal|
124
+ literal.typed?.should be_true
125
+ literal.datatype.should_not be_nil
126
+ end
127
+ end
128
+
129
+ it "should support implicit datatyping" do
130
+ @string.datatype.should == nil
131
+ @false.datatype.should == XSD.boolean
132
+ @true.datatype.should == XSD.boolean
133
+ @int.datatype.should == XSD.integer
134
+ @long.datatype.should == XSD.integer
135
+ @double.datatype.should == XSD.double
136
+ @time.datatype.should == XSD.dateTime
137
+ @date.datatype.should == XSD.date
138
+ @datetime.datatype.should == XSD.dateTime
139
+ end
140
+
141
+ it "should support equality comparisons" do
142
+ @all.each do |literal|
143
+ copy = @new.call(literal.value, :datatype => literal.datatype)
144
+ literal.should eql(copy)
145
+ literal.should == copy
146
+ end
147
+ end
148
+
149
+ it "should have a string representation" do
150
+ @false.to_s.should eql('"false"^^<http://www.w3.org/2001/XMLSchema#boolean>')
151
+ @true.to_s.should eql('"true"^^<http://www.w3.org/2001/XMLSchema#boolean>')
152
+ @int.to_s.should eql('"123"^^<http://www.w3.org/2001/XMLSchema#integer>')
153
+ @long.to_s.should eql('"9223372036854775807"^^<http://www.w3.org/2001/XMLSchema#integer>')
154
+ @double.to_s.should eql('"3.1415"^^<http://www.w3.org/2001/XMLSchema#double>')
155
+ @date.to_s.should eql('"2010-01-01"^^<http://www.w3.org/2001/XMLSchema#date>')
156
+ @datetime.to_s.should eql('"2010-01-01T00:00:00+00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>') # FIXME
157
+ end
158
+ end
159
+
160
+ end
@@ -59,11 +59,9 @@ share_as :RDF_Mutable do
59
59
  @repository.should have_context @context
60
60
  @repository.query(:context => @context).size.should == @repository.size
61
61
  end
62
-
63
62
  end
64
63
 
65
64
  context "when inserting statements" do
66
-
67
65
  before :each do
68
66
  @statements = RDF::NTriples::Reader.new(File.open(@filename)).to_a
69
67
  end
@@ -98,7 +96,6 @@ share_as :RDF_Mutable do
98
96
  end
99
97
 
100
98
  context "when deleting statements" do
101
-
102
99
  before :each do
103
100
  @statements = RDF::NTriples::Reader.new(File.open(@filename)).to_a
104
101
  @repository.insert(*@statements)
@@ -122,6 +119,18 @@ share_as :RDF_Mutable do
122
119
  @statements.find { |s| @repository.has_statement?(s) }.should be_false
123
120
  end
124
121
 
122
+ it "should support wildcard deletions" do
123
+ # nothing deleted
124
+ require 'digest/sha1'
125
+ count = @repository.count
126
+ @repository.delete([nil, nil, random = Digest::SHA1.hexdigest(File.read(__FILE__))])
127
+ @repository.should_not be_empty
128
+ @repository.count.should == count
129
+
130
+ # everything deleted
131
+ @repository.delete([nil, nil, nil])
132
+ @repository.should be_empty
133
+ end
125
134
  end
126
135
 
127
136
  context "when clearing all statements" do
@@ -0,0 +1,14 @@
1
+ require 'rdf'
2
+ require 'rdf/spec'
3
+
4
+ share_as :RDF_Node do
5
+
6
+ before :each do
7
+ raise '+@new+ must be defined in a before(:each) block' unless instance_variable_get('@new')
8
+ end
9
+
10
+
11
+ it "should be instantiable" do
12
+ lambda { @new.call }.should_not raise_error
13
+ end
14
+ end
@@ -0,0 +1,172 @@
1
+ require 'rdf/spec'
2
+ require 'spec'
3
+
4
+ share_as :RDF_Statement do
5
+ include RDF::Spec::Matchers
6
+
7
+ before :each do
8
+ raise '+@n3+ must be defined in a before(:each) block' unless instance_variable_get('@n3')
9
+ raise '+@s+ must be defined in a before(:each) block' unless instance_variable_get('@s')
10
+ raise '+@p+ must be defined in a before(:each) block' unless instance_variable_get('@p')
11
+ raise '+@o+ must be defined in a before(:each) block' unless instance_variable_get('@o')
12
+ raise '+@stmt+ must be defined in a before(:each) block' unless instance_variable_get('@stmt')
13
+ end
14
+
15
+ context "when initializing" do
16
+ it "should be instantiable with a hash argument" do
17
+ lambda { RDF::Statement.new(:subject => @s,
18
+ :predicate => @p,
19
+ :object => @o) }.should_not raise_error(ArgumentError)
20
+
21
+ end
22
+
23
+ it "should not alter a hash argument" do
24
+ hash = { :subject => @s, :predicate => @p, :object => @o }
25
+ original_hash = hash.dup
26
+ stmt = RDF::Statement.new(hash)
27
+ original_hash.should == hash
28
+ end
29
+
30
+ it "should not alter its options argument" do
31
+ options = { :context => RDF::DOAP.name }
32
+ original_options = options.dup
33
+ stmt = RDF::Statement.new(@s, @p, @o, options)
34
+ options.should == original_options
35
+ end
36
+ end
37
+
38
+ context "when created" do
39
+ it "should not require arguments" do
40
+ lambda { RDF::Statement.new }.should_not raise_error(ArgumentError)
41
+ end
42
+
43
+ it "should have a subject" do
44
+ @stmt.has_subject?.should be_true
45
+ @stmt.subject.should_not be_nil
46
+ end
47
+
48
+ it "should have a predicate" do
49
+ @stmt.has_predicate?.should be_true
50
+ @stmt.predicate.should_not be_nil
51
+ end
52
+
53
+ it "should have an object" do
54
+ @stmt.has_object?.should be_true
55
+ @stmt.object.should_not be_nil
56
+ end
57
+
58
+ it "should be asserted" do
59
+ @stmt.asserted?.should be_true
60
+ end
61
+
62
+ it "should not be quoted" do
63
+ @stmt.quoted?.should be_false
64
+ end
65
+ end
66
+
67
+ context "when created with a blank node subject" do
68
+ before :each do
69
+ @stmt = RDF::Statement.new(RDF::Node.new, @p, @o)
70
+ end
71
+
72
+ it "should have a blank node" do
73
+ @stmt.has_blank_nodes?.should be_true
74
+ end
75
+ end
76
+
77
+ context "when created with a blank node object" do
78
+ before :each do
79
+ @stmt = RDF::Statement.new(@s, @p, RDF::Node.new)
80
+ end
81
+
82
+ it "should have a blank node" do
83
+ @stmt.has_blank_nodes?.should be_true
84
+ end
85
+ end
86
+
87
+ context "when created without a context" do
88
+ it "should not have a context" do
89
+ @stmt = RDF::Statement.new(@s, @p, @o, :context => nil)
90
+ @stmt.context.should be_nil
91
+ @stmt.has_context?.should be_false
92
+ end
93
+ end
94
+
95
+ context "when created with a context" do
96
+ it "should have a context" do
97
+ @stmt = RDF::Statement.new(@s, @p, @o, :context => @s)
98
+ @stmt.has_context?.should be_true
99
+ @stmt.context.should_not be_nil
100
+ end
101
+ end
102
+
103
+ context "when used like an Array" do
104
+ it "should support #to_a" do
105
+ @stmt.should respond_to(:to_a)
106
+ @stmt.to_a.should eql([@stmt.subject, @stmt.predicate, @stmt.object])
107
+ end
108
+
109
+ it "should support #[]" do
110
+ @stmt.should respond_to(:[])
111
+ @stmt[0].should equal(@stmt.subject)
112
+ @stmt[1].should equal(@stmt.predicate)
113
+ @stmt[2].should equal(@stmt.object)
114
+ end
115
+
116
+ it "should support #[]=" do
117
+ @stmt.should respond_to(:[]=)
118
+ # TODO
119
+ end
120
+ end
121
+
122
+ context "when used like a Hash" do
123
+ it "should support #to_hash" do
124
+ @stmt.should respond_to(:to_hash)
125
+ @stmt.to_hash.should eql({
126
+ :subject => @stmt.subject,
127
+ :predicate => @stmt.predicate,
128
+ :object => @stmt.object,
129
+ })
130
+ end
131
+ end
132
+
133
+ context "when used like a String" do
134
+ it "should support #to_s" do
135
+ @stmt.should respond_to(:to_s)
136
+ end
137
+
138
+ it "should have an N-Triples representation" do
139
+ @stmt.to_s.should eql(@n3)
140
+ end
141
+ end
142
+
143
+ context "when comparing equality" do
144
+ before :each do
145
+ @c = RDF::URI.parse("http://example.org/context")
146
+ @other_stmt = RDF::Statement.new(@s, @p, @o, :context => @c)
147
+ end
148
+
149
+ it "should == regardless of context" do
150
+ @stmt.should == @other_stmt
151
+ end
152
+
153
+ it "should not be eql? with differing contexts" do
154
+ @stmt.should_not be_eql @other_stmt
155
+ end
156
+
157
+ it "should match (===) a statement with a missing component to one with that component" do
158
+ @stmt.should === @other_stmt
159
+ end
160
+
161
+ it "should not match (===) a statement with a component to one which is missing that component" do
162
+ @other_stmt.should_not === @stmt
163
+ end
164
+
165
+ it "should only equals? with object equality" do
166
+ @same_stmt = RDF::Statement.new @s, @p, @o
167
+ @stmt.should_not equal @same_stmt
168
+ @stmt.should equal @stmt
169
+ end
170
+
171
+ end
172
+ end
@@ -0,0 +1,49 @@
1
+ require 'rdf'
2
+ require 'rdf/spec'
3
+
4
+ share_as :RDF_URI do
5
+
6
+ before :each do
7
+ raise '+@new+ must be defined in a before(:each) block' unless instance_variable_get('@new')
8
+ end
9
+
10
+ it "should be instantiable" do
11
+ lambda { @new.call("http://rdf.rubyforge.org/") }.should_not raise_error
12
+ end
13
+
14
+ it "should return the root URI" do
15
+ uri = @new.call("http://rdf.rubyforge.org/RDF/URI.html")
16
+ uri.should respond_to(:root)
17
+ uri.root.should be_a_uri
18
+ uri.root.should == @new.call("http://rdf.rubyforge.org/")
19
+ end
20
+
21
+ it "should find the parent URI" do
22
+ uri = @new.call("http://rdf.rubyforge.org/RDF/URI.html")
23
+ uri.should respond_to(:parent)
24
+ uri.parent.should be_a_uri
25
+ uri.parent.should == @new.call("http://rdf.rubyforge.org/RDF/")
26
+ uri.parent.parent.should == @new.call("http://rdf.rubyforge.org/")
27
+ uri.parent.parent.parent.should be_nil
28
+ end
29
+
30
+ it "should return a consistent hash code" do
31
+ hash1 = @new.call("http://rdf.rubyforge.org/").hash
32
+ hash2 = @new.call("http://rdf.rubyforge.org/").hash
33
+ hash1.should == hash2
34
+ end
35
+
36
+ it "should be duplicable" do
37
+ url = Addressable::URI.parse("http://rdf.rubyforge.org/")
38
+ uri2 = (uri1 = @new.call(url)).dup
39
+
40
+ uri1.should_not be_equal(uri2)
41
+ uri1.should be_eql(uri2)
42
+ uri1.should == uri2
43
+
44
+ url.path = '/rdf/'
45
+ uri1.should_not be_equal(uri2)
46
+ uri1.should_not be_eql(uri2)
47
+ uri1.should_not == uri2
48
+ end
49
+ end
@@ -0,0 +1,30 @@
1
+ require 'rdf'
2
+ require 'rdf/spec'
3
+
4
+ share_as :RDF_Value do
5
+
6
+ before :each do
7
+ raise '+@value+ must be defined in a before(:each) block' unless instance_variable_get('@value')
8
+ raise '+@resource+ must be defined in a before(:each) block' unless instance_variable_get('@resource')
9
+ end
10
+
11
+ describe RDF::Value do
12
+ it "should not be instantiable" do
13
+ lambda { @value.call }.should raise_error(NoMethodError)
14
+ end
15
+ end
16
+
17
+ describe RDF::Resource do
18
+ it "should instantiate blank nodes" do
19
+ resource = @resource.call('_:foobar')
20
+ resource.class.should == RDF::Node
21
+ resource.id.should == 'foobar'
22
+ end
23
+
24
+ it "should instantiate URIs" do
25
+ resource = @resource.call('http://rdf.rubyforge.org/')
26
+ resource.class.should == RDF::URI
27
+ resource.to_s.should == 'http://rdf.rubyforge.org/'
28
+ end
29
+ end
30
+ end
@@ -2,7 +2,7 @@ module RDF; module Spec
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 4
5
+ TINY = 6
6
6
  EXTRA = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 4
9
- version: 0.1.4
8
+ - 6
9
+ version: 0.1.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Arto Bendiken
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-04-03 00:00:00 +02:00
18
+ date: 2010-04-12 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -28,8 +28,8 @@ dependencies:
28
28
  segments:
29
29
  - 0
30
30
  - 1
31
- - 4
32
- version: 0.1.4
31
+ - 6
32
+ version: 0.1.6
33
33
  type: :development
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
@@ -90,10 +90,16 @@ files:
90
90
  - etc/doap.nt
91
91
  - lib/rdf/spec/durable.rb
92
92
  - lib/rdf/spec/enumerable.rb
93
+ - lib/rdf/spec/graph.rb
94
+ - lib/rdf/spec/literal.rb
93
95
  - lib/rdf/spec/matchers.rb
94
96
  - lib/rdf/spec/mutable.rb
97
+ - lib/rdf/spec/node.rb
95
98
  - lib/rdf/spec/queryable.rb
96
99
  - lib/rdf/spec/repository.rb
100
+ - lib/rdf/spec/statement.rb
101
+ - lib/rdf/spec/uri.rb
102
+ - lib/rdf/spec/value.rb
97
103
  - lib/rdf/spec/version.rb
98
104
  - lib/rdf/spec.rb
99
105
  - spec/enumerable_spec.rb