@@ -36,11 +36,11 @@ def assert_result_matches(actual, expected)
3636 if expected_v
3737 if expected_v . empty?
3838 if actual_v && !actual_v . empty?
39- raise "Actual not empty"
39+ raise Error :: ResultMismatch , "Actual not empty"
4040 end
4141 else
4242 if actual_v != expected_v
43- raise "Mismatch: actual #{ actual_v } , expected #{ expected_v } "
43+ raise Error :: ResultMismatch , "Mismatch: actual #{ actual_v } , expected #{ expected_v } "
4444 end
4545 end
4646 end
@@ -62,14 +62,14 @@ def assert_outcome
6262 actual_docs = collection . find ( { } , order : :_id ) . to_a
6363 assert_documents_match ( actual_docs , expected_docs )
6464 unless spec . empty?
65- raise "Unhandled keys: #{ spec } "
65+ raise NotImplementedError , "Unhandled keys: #{ spec } "
6666 end
6767 end
6868 end
6969
7070 def assert_documents_match ( actual , expected )
7171 unless actual . length == expected . length
72- raise "Unexpected number of documents: expected #{ expected . length } , actual #{ actual . length } "
72+ raise Error :: ResultMismatch , "Unexpected number of documents: expected #{ expected . length } , actual #{ actual . length } "
7373 end
7474
7575 actual . each_with_index do |document , index |
@@ -81,7 +81,7 @@ def assert_document_matches(actual, expected, msg)
8181 unless actual == expected
8282 p actual
8383 p expected
84- raise "#{ msg } does not match"
84+ raise Error :: ResultMismatch , "#{ msg } does not match"
8585 end
8686 end
8787
@@ -95,7 +95,7 @@ def assert_events
9595 expected_events = spec . use! ( 'events' )
9696 actual_events = subscriber . wanted_events
9797 unless actual_events . length == expected_events . length
98- raise "Event count mismatch: expected #{ expected_events . length } , actual #{ actual_events . length } \n Expected: #{ expected_events } \n Actual: #{ actual_events } "
98+ raise Error :: ResultMismatch , "Event count mismatch: expected #{ expected_events . length } , actual #{ actual_events . length } \n Expected: #{ expected_events } \n Actual: #{ actual_events } "
9999 end
100100 expected_events . each_with_index do |event , i |
101101 assert_event_matches ( actual_events [ i ] , event )
@@ -122,22 +122,22 @@ def assert_event_matches(actual, expected)
122122
123123 def assert_eq ( actual , expected , msg )
124124 unless expected == actual
125- raise "#{ msg } : expected #{ expected } , actual #{ actual } "
125+ raise Error :: ResultMismatch , "#{ msg } : expected #{ expected } , actual #{ actual } "
126126 end
127127 end
128128
129129 def assert_matches ( actual , expected , msg )
130130 if actual . nil? && !expected . nil?
131- raise "#{ msg } : expected #{ expected } but got nil"
131+ raise Error :: ResultMismatch , "#{ msg } : expected #{ expected } but got nil"
132132 end
133133
134134 case expected
135135 when Array
136136 unless Array === actual
137- raise "Expected an array, found #{ actual } "
137+ raise Error :: ResultMismatch , "Expected an array, found #{ actual } "
138138 end
139139 unless actual . length == expected . length
140- raise "Expected array of length #{ expected . length } , found array of length #{ actual . length } : #{ actual } "
140+ raise Error :: ResultMismatch , "Expected array of length #{ expected . length } , found array of length #{ actual . length } : #{ actual } "
141141 end
142142 expected . each_with_index do |v , i |
143143 assert_matches ( actual [ i ] , v , "#{ msg } : index #{ i } " )
@@ -166,7 +166,7 @@ def assert_matches(actual, expected, msg)
166166 actual = actual . value
167167 end
168168 unless actual == expected
169- raise "#{ msg } : expected #{ expected } , actual #{ actual } "
169+ raise Error :: ResultMismatch , "#{ msg } : expected #{ expected } , actual #{ actual } "
170170 end
171171 end
172172 end
@@ -182,10 +182,10 @@ def assert_type(object, type)
182182 when 'date'
183183 Time === object
184184 else
185- raise "Unhandled type #{ type } "
185+ raise NotImplementedError , "Unhandled type #{ type } "
186186 end
187187 unless ok
188- raise "Object #{ object } is not of type #{ type } "
188+ raise Error :: ResultMismatch , "Object #{ object } is not of type #{ type } "
189189 end
190190 end
191191
@@ -198,46 +198,46 @@ def assert_value_matches(actual, expected, msg)
198198 when '$$unsetOrMatches'
199199 if actual
200200 unless actual == expected_v
201- raise "Mismatch for #{ msg } : expected #{ expected } , have #{ actual } "
201+ raise Error :: ResultMismatch , "Mismatch for #{ msg } : expected #{ expected } , have #{ actual } "
202202 end
203203 end
204204 when '$$matchesHexBytes'
205205 expected_data = decode_hex_bytes ( expected_v )
206206 unless actual == expected_data
207- raise "Hex bytes do not match"
207+ raise Error :: ResultMismatch , "Hex bytes do not match"
208208 end
209209 when '$$exists'
210210 case expected_v
211211 when true
212212 if actual . nil?
213- raise "#{ msg } : wanted value to exist, but it did not"
213+ raise Error :: ResultMismatch , "#{ msg } : wanted value to exist, but it did not"
214214 end
215215 when false
216216 if actual
217- raise "#{ msg } : wanted value to not exist, but it did"
217+ raise Error :: ResultMismatch , "#{ msg } : wanted value to not exist, but it did"
218218 end
219219 else
220- raise "Bogus value #{ expected_v } "
220+ raise NotImplementedError , "Bogus value #{ expected_v } "
221221 end
222222 when '$$sessionLsid'
223223 expected_session = entities . get ( :session , expected_v )
224224 # TODO - sessions do not expose server sessions after being ended
225225 #unless actual_v == {'id' => expected_session.server_session.session_id.to_bson}
226- # raise "Session does not match: wanted #{expected_session}, have #{actual_v}"
226+ # raise Error::ResultMismatch, "Session does not match: wanted #{expected_session}, have #{actual_v}"
227227 #end
228228 when '$$type'
229229 assert_type ( actual , expected_v )
230230 when '$$matchesEntity'
231231 result = entities . get ( :result , expected_v )
232232 unless actual == result
233- raise "Actual value #{ actual } does not match entity #{ expected_v } with value #{ result } "
233+ raise Error :: ResultMismatch , "Actual value #{ actual } does not match entity #{ expected_v } with value #{ result } "
234234 end
235235 else
236- raise "Unknown operator #{ operator } "
236+ raise NotImplementedError , "Unknown operator #{ operator } "
237237 end
238238 else
239239 if actual != expected
240- raise "Mismatch for #{ msg } : expected #{ expected } , have #{ actual } "
240+ raise Error :: ResultMismatch , "Mismatch for #{ msg } : expected #{ expected } , have #{ actual } "
241241 end
242242 end
243243 end
0 commit comments