MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / assert_aggregates

Method assert_aggregates

graphlite/tests/testutils/test_fixture.rs:260–322  ·  view source on GitHub ↗

Execute query and return aggregate statistics

(
        &self,
        query: &str,
        _expected_stats: AggregateStats,
    )

Source from the content-addressed store, hash-verified

258
259 /// Execute query and return aggregate statistics
260 pub fn assert_aggregates(
261 &self,
262 query: &str,
263 _expected_stats: AggregateStats,
264 ) -> AggregateStats {
265 let result = self.assert_query_succeeds(query);
266 assert!(!result.rows.is_empty(), "Query returned no rows: {}", query);
267
268 let row = &result.rows[0].values;
269
270 AggregateStats {
271 count: row
272 .get("count")
273 .and_then(|v| {
274 if let Value::Number(n) = v {
275 Some(*n)
276 } else {
277 None
278 }
279 })
280 .unwrap_or(0.0),
281 sum: row
282 .get("sum")
283 .and_then(|v| {
284 if let Value::Number(n) = v {
285 Some(*n)
286 } else {
287 None
288 }
289 })
290 .unwrap_or(0.0),
291 avg: row
292 .get("avg")
293 .and_then(|v| {
294 if let Value::Number(n) = v {
295 Some(*n)
296 } else {
297 None
298 }
299 })
300 .unwrap_or(0.0),
301 min: row
302 .get("min")
303 .and_then(|v| {
304 if let Value::Number(n) = v {
305 Some(*n)
306 } else {
307 None
308 }
309 })
310 .unwrap_or(0.0),
311 max: row
312 .get("max")
313 .and_then(|v| {
314 if let Value::Number(n) = v {
315 Some(*n)
316 } else {
317 None

Callers 1

Calls 2

assert_query_succeedsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected