|
132 | 132 | end
|
133 | 133 |
|
134 | 134 | it "converts numbers to strings" do
|
135 |
| - result = tool.coerce_parameters({ "name" => 123 }) |
136 |
| - expect(result["name"]).to eq("123") |
| 135 | + result = tool.coerce_parameters(name: 123) |
| 136 | + expect(result[:name]).to eq("123") |
137 | 137 | end
|
138 | 138 |
|
139 | 139 | it "converts booleans to strings" do
|
140 |
| - result = tool.coerce_parameters({ "name" => true }) |
141 |
| - expect(result["name"]).to eq("true") |
| 140 | + result = tool.coerce_parameters(name: true) |
| 141 | + expect(result[:name]).to eq("true") |
142 | 142 | end
|
143 | 143 | end
|
144 | 144 |
|
|
156 | 156 | end
|
157 | 157 |
|
158 | 158 | it "converts string numbers to floats" do
|
159 |
| - result = tool.coerce_parameters({ "price" => "42.99" }) |
160 |
| - expect(result["price"]).to eq(42.99) |
| 159 | + result = tool.coerce_parameters(price: "42.99") |
| 160 | + expect(result[:price]).to eq(42.99) |
161 | 161 | end
|
162 | 162 |
|
163 | 163 | it "converts integers to floats" do
|
164 |
| - result = tool.coerce_parameters({ "price" => 42 }) |
165 |
| - expect(result["price"]).to eq(42.0) |
| 164 | + result = tool.coerce_parameters(price: 42) |
| 165 | + expect(result[:price]).to eq(42.0) |
166 | 166 | end
|
167 | 167 |
|
168 | 168 | it "returns nil for invalid number strings" do
|
169 |
| - result = tool.coerce_parameters({ "price" => "not a number" }) |
170 |
| - expect(result["price"]).to be_nil |
| 169 | + result = tool.coerce_parameters(price: "not a number") |
| 170 | + expect(result[:price]).to be_nil |
171 | 171 | end
|
172 | 172 | end
|
173 | 173 |
|
|
190 | 190 | end
|
191 | 191 |
|
192 | 192 | it "converts string elements to integers" do
|
193 |
| - result = tool.coerce_parameters({ "numbers" => %w[1 2 3] }) |
194 |
| - expect(result["numbers"]).to eq([1, 2, 3]) |
| 193 | + result = tool.coerce_parameters(numbers: %w[1 2 3]) |
| 194 | + expect(result[:numbers]).to eq([1, 2, 3]) |
195 | 195 | end
|
196 | 196 |
|
197 | 197 | it "parses JSON strings into arrays and converts elements" do
|
198 |
| - result = tool.coerce_parameters({ "numbers" => "[1, 2, 3]" }) |
199 |
| - expect(result["numbers"]).to eq([1, 2, 3]) |
| 198 | + result = tool.coerce_parameters(numbers: "[1, 2, 3]") |
| 199 | + expect(result[:numbers]).to eq([1, 2, 3]) |
200 | 200 | end
|
201 | 201 |
|
202 | 202 | it "handles mixed type arrays appropriately" do
|
203 |
| - result = tool.coerce_parameters({ "numbers" => [1, "two", 3.5] }) |
204 |
| - expect(result["numbers"]).to eq([1, nil, 3]) |
| 203 | + result = tool.coerce_parameters(numbers: [1, "two", 3.5]) |
| 204 | + expect(result[:numbers]).to eq([1, nil, 3]) |
205 | 205 | end
|
206 | 206 | end
|
207 | 207 |
|
|
231 | 231 | end
|
232 | 232 |
|
233 | 233 | it "includes missing required parameters as nil" do
|
234 |
| - result = tool.coerce_parameters({ "optional_param" => "value" }) |
235 |
| - expect(result["required_param"]).to be_nil |
236 |
| - expect(result["optional_param"]).to eq("value") |
| 234 | + result = tool.coerce_parameters(optional_param: "value") |
| 235 | + expect(result[:required_param]).to be_nil |
| 236 | + expect(result[:optional_param]).to eq("value") |
237 | 237 | end
|
238 | 238 |
|
239 | 239 | it "skips missing optional parameters" do
|
|
257 | 257 | end
|
258 | 258 |
|
259 | 259 | it "preserves true/false values" do
|
260 |
| - result = tool.coerce_parameters({ "flag" => true }) |
261 |
| - expect(result["flag"]).to be true |
| 260 | + result = tool.coerce_parameters(flag: true) |
| 261 | + expect(result[:flag]).to be true |
262 | 262 | end
|
263 | 263 |
|
264 | 264 | it "converts 'true'/'false' strings to booleans" do
|
265 |
| - result = tool.coerce_parameters({ "flag" => "true" }) |
266 |
| - expect(result["flag"]).to be true |
| 265 | + result = tool.coerce_parameters({ flag: true }) |
| 266 | + expect(result[:flag]).to be true |
267 | 267 |
|
268 |
| - result = tool.coerce_parameters({ "flag" => "False" }) |
269 |
| - expect(result["flag"]).to be false |
| 268 | + result = tool.coerce_parameters({ flag: "False" }) |
| 269 | + expect(result[:flag]).to be false |
270 | 270 | end
|
271 | 271 |
|
272 | 272 | it "returns nil for invalid boolean strings" do
|
|
0 commit comments