Skip to content

Commit 2ce22d2

Browse files
committed
Update the reader spec to require @reader_input and @reader_count to allow testing against Enumberable expectations.
1 parent b6f48ed commit 2ce22d2

1 file changed

Lines changed: 47 additions & 3 deletions

File tree

lib/rdf/spec/reader.rb

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ module RDF_Reader
66

77
before(:each) do
88
raise '+@reader+ must be defined in a before(:each) block' unless instance_variable_get('@reader')
9+
raise '+@reader_input+ must be defined in a before(:each) block' unless instance_variable_get('@reader_input')
10+
raise '+@reader_count+ must be defined in a before(:each) block' unless instance_variable_get('@reader_count')
911
@reader_class = @reader.class
1012
end
1113

@@ -25,7 +27,6 @@ module RDF_Reader
2527

2628
it "yields reader given file_name" do
2729
@reader_class.format.each do |f|
28-
RDF::Util::File.stub(:open_file).and_yield(StringIO.new("foo"))
2930
f.file_extensions.each_pair do |sym, content_type|
3031
reader_mock = double("reader")
3132
expect(reader_mock).to receive(:got_here)
@@ -99,7 +100,7 @@ module RDF_Reader
99100
expect(r.instance_variable_get(:@input)).to be_a(StringIO)
100101
end
101102
end
102-
103+
103104
it "sets @input to input given something other than a string" do
104105
reader_mock = double("reader")
105106
expect(reader_mock).to receive(:got_here)
@@ -109,7 +110,7 @@ module RDF_Reader
109110
expect(r.instance_variable_get(:@input)).to eq file
110111
end
111112
end
112-
113+
113114
it "sets validate given :validate => true" do
114115
# Either set validate, or through error, due to invalid input (null input may be invalid)
115116
begin
@@ -168,5 +169,48 @@ module RDF_Reader
168169
end
169170
end
170171
end
172+
173+
context RDF::Enumerable do
174+
it "#count" do
175+
@reader_class.new(@reader_input) {|r| expect(r.count).to eq @reader_count}
176+
end
177+
it "#empty?" do
178+
@reader_class.new(@reader_input) {|r| expect(r).not_to be_empty}
179+
end
180+
181+
it "#statements" do
182+
@reader_class.new(@reader_input) {|r| expect(r.statements.count).to eq @reader_count}
183+
end
184+
it "#has_statement?" do
185+
@reader_class.new(@reader_input) {|r| expect(r).to respond_to(:has_statement?)}
186+
end
187+
it "#each_statement" do
188+
@reader_class.new(@reader_input) {|r| expect(r.each_statement.count).to eq @reader_count}
189+
end
190+
it "#enum_statement" do
191+
@reader_class.new(@reader_input) {|r| expect(r.enum_statement.count).to eq @reader_count}
192+
end
193+
194+
it "#triples" do
195+
@reader_class.new(@reader_input) {|r| expect(r.triples.count).to eq @reader_count}
196+
end
197+
it "#each_triple" do
198+
@reader_class.new(@reader_input) {|r| expect(r.each_triple.count).to eq @reader_count}
199+
end
200+
it "#enum_triple" do
201+
@reader_class.new(@reader_input) {|r| expect(r.enum_triple.count).to eq @reader_count}
202+
end
203+
204+
it "#quads" do
205+
@reader_class.new(@reader_input) {|r| expect(r.quads.count).to eq @reader_count}
206+
end
207+
it "#each_quad" do
208+
@reader_class.new(@reader_input) {|r| expect(r.each_quad.count).to eq @reader_count}
209+
end
210+
it "#enum_quad" do
211+
@reader_class.new(@reader_input) {|r| expect(r.enum_quad.count).to eq @reader_count}
212+
end
213+
214+
end
171215
end
172216
end

0 commit comments

Comments
 (0)