amigo 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ module Amigo
11
11
 
12
12
  include Hamster::Immutable
13
13
 
14
- SOLUTIONS = Hamster.set(Solution.new(Hamster.set, Hamster.hash))
14
+ SOLUTIONS = Hamster.list(Solution.new(Hamster.set, Hamster.hash))
15
15
 
16
16
  def initialize(variables, triples)
17
17
  @variables = variables
@@ -1,5 +1,5 @@
1
1
  module Amigo
2
2
 
3
- VERSION = "0.1.0".freeze
3
+ VERSION = "0.1.1".freeze
4
4
 
5
5
  end
@@ -25,17 +25,17 @@ module Amigo
25
25
  end
26
26
 
27
27
  def select(statements)
28
- statements.reduce(Hamster.set) do |result, statement|
28
+ statements.reduce(Hamster.list) do |result, statement|
29
29
  next result unless select?(statement)
30
- result.add(bind(statement, Hamster.hash))
30
+ result.cons(bind(statement, Hamster.hash))
31
31
  end
32
32
  end
33
33
 
34
34
  def join(statements, rows)
35
- rows.reduce(Hamster.set) do |result, row|
35
+ rows.reduce(Hamster.list) do |result, row|
36
36
  statements.reduce(result) do |result, statement|
37
37
  next result unless join?(statement, row)
38
- result.add(bind(statement, row))
38
+ result.cons(bind(statement, row))
39
39
  end
40
40
  end
41
41
  end
@@ -20,8 +20,16 @@ module Amigo
20
20
  execute(Hamster.set(Triple.new(URI.parse(URI.parse("ex_book:book1")), URI.parse(URI.parse("dc:title")), "SPARQL Tutorial")))
21
21
  end
22
22
 
23
- it "the result has a single solution" do
24
- @result.size.should == 1
23
+ describe "the result" do
24
+
25
+ it "is a list" do
26
+ @result.class.should include(Hamster::List)
27
+ end
28
+
29
+ it "has a single solution" do
30
+ @result.size.should == 1
31
+ end
32
+
25
33
  end
26
34
 
27
35
  describe "the solution" do
@@ -46,8 +54,16 @@ module Amigo
46
54
  execute(Hamster.set(Triple.new(URI.parse("ex_book:book1"), URI.parse("dc:title"), "SPARQL Tutorial")))
47
55
  end
48
56
 
49
- it "returns the correct number of solutions" do
50
- @result.size.should == 1
57
+ describe "the result" do
58
+
59
+ it "is a list" do
60
+ @result.class.should include(Hamster::List)
61
+ end
62
+
63
+ it "returns the correct number of solutions" do
64
+ @result.size.should == 1
65
+ end
66
+
51
67
  end
52
68
 
53
69
  describe "each solution" do
@@ -72,8 +88,16 @@ module Amigo
72
88
  execute(Hamster.set(Triple.new(URI.parse("ns:y"), URI.parse("ns:p"), 42)))
73
89
  end
74
90
 
75
- it "returns the correct number of solutions" do
76
- @result.size.should == 1
91
+ describe "the result" do
92
+
93
+ it "is a list" do
94
+ @result.class.should include(Hamster::List)
95
+ end
96
+
97
+ it "returns the correct number of solutions" do
98
+ @result.size.should == 1
99
+ end
100
+
77
101
  end
78
102
 
79
103
  describe "each solution" do
@@ -98,8 +122,16 @@ module Amigo
98
122
  execute(Hamster.set(Triple.new(URI.parse("ex_book:book1"), URI.parse("dc:title"), "SPARQL Tutorial")))
99
123
  end
100
124
 
101
- it "returns the correct number of solutions" do
102
- @result.size.should == 1
125
+ describe "the result" do
126
+
127
+ it "is a list" do
128
+ @result.class.should include(Hamster::List)
129
+ end
130
+
131
+ it "returns the correct number of solutions" do
132
+ @result.size.should == 1
133
+ end
134
+
103
135
  end
104
136
 
105
137
  describe "each solution" do
@@ -137,8 +169,16 @@ module Amigo
137
169
  sort_by(&:name)
138
170
  end
139
171
 
140
- it "returns the correct number of solutions" do
141
- @result.size == 2
172
+ describe "the result" do
173
+
174
+ it "is a list" do
175
+ @result.class.should include(Hamster::List)
176
+ end
177
+
178
+ it "returns the correct number of solutions" do
179
+ @result.size.should == 2
180
+ end
181
+
142
182
  end
143
183
 
144
184
  describe "each solution" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Simon Harris
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-14 00:00:00 +10:00
17
+ date: 2010-05-16 00:00:00 +10:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -27,8 +27,8 @@ dependencies:
27
27
  segments:
28
28
  - 0
29
29
  - 3
30
- - 6
31
- version: 0.3.6
30
+ - 7
31
+ version: 0.3.7
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency