~ubuntu-branches/ubuntu/saucy/dee/saucy-proposed

« back to all changes in this revision

Viewing changes to tests/test-index.c

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2012-03-12 11:49:53 UTC
  • mfrom: (1.1.17)
  • Revision ID: package-import@ubuntu.com-20120312114953-i0izi38kg1gbnas0
Tags: 1.0.6-0ubuntu1
* New upstream release.
  - Provide a way to have a ReadOnly model (LP: #675565)
  - Prefix search with DeeTreeIndex doesn't return correct results
    (LP: #933111)
  - Doing multiple changes with clear in one transaction causes critical
    (LP: #940419)
* debian/libdee-1.0-4.symbols:
  - updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
369
369
}
370
370
 
371
371
static void
 
372
test_prefix_1_row_multiterm (Fixture *fix, gconstpointer data)
 
373
{
 
374
  DeeModelIter *iter, *result_iter;
 
375
  DeeResultSet *results;
 
376
 
 
377
  g_assert (dee_index_get_supported_term_match_flags (fix->index) &
 
378
            DEE_TERM_MATCH_PREFIX);
 
379
 
 
380
  iter = dee_model_append (fix->model, "To test this tremendous trouble", 27);
 
381
 
 
382
  results = dee_index_lookup (fix->index, "to", DEE_TERM_MATCH_PREFIX);
 
383
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 1);
 
384
  result_iter = dee_result_set_next (results);
 
385
  g_assert (iter == result_iter);
 
386
  g_object_unref (results);
 
387
 
 
388
  results = dee_index_lookup (fix->index, "t", DEE_TERM_MATCH_PREFIX);
 
389
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 1);
 
390
  result_iter = dee_result_set_next (results);
 
391
  g_assert (iter == result_iter);
 
392
  g_object_unref (results);
 
393
}
 
394
 
 
395
static void
 
396
test_prefix_2_rows (Fixture *fix, gconstpointer data)
 
397
{
 
398
  DeeModelIter *iter, *i0, *i1;
 
399
  DeeResultSet *results;
 
400
 
 
401
  g_assert (dee_index_get_supported_term_match_flags (fix->index) &
 
402
            DEE_TERM_MATCH_PREFIX);
 
403
 
 
404
  i0 = dee_model_append (fix->model, "Caravan scrap yard", 0);
 
405
  i1 = dee_model_append (fix->model, "Scraper foo", 1);
 
406
 
 
407
  /* NOTE: We can NOT infer anything about the ordering of the matching
 
408
   *       iters inside a single term */
 
409
  results = dee_index_lookup (fix->index, "scrap", DEE_TERM_MATCH_PREFIX);
 
410
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 2);
 
411
  iter = dee_result_set_next (results);
 
412
  g_assert (iter == i0 || iter == i1);
 
413
  iter = dee_result_set_next (results);
 
414
  g_assert (iter == i0 || iter == i1);
 
415
  g_object_unref (results);
 
416
 
 
417
  results = dee_index_lookup (fix->index, "scra", DEE_TERM_MATCH_PREFIX);
 
418
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 2);
 
419
  iter = dee_result_set_next (results);
 
420
  g_assert (iter == i0 || iter == i1);
 
421
  iter = dee_result_set_next (results);
 
422
  g_assert (iter == i0 || iter == i1);
 
423
  g_object_unref (results);
 
424
 
 
425
  results = dee_index_lookup (fix->index, "scraper", DEE_TERM_MATCH_PREFIX);
 
426
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 1);
 
427
  iter = dee_result_set_next (results);
 
428
  g_assert (iter == i1);
 
429
  g_object_unref (results);
 
430
 
 
431
  results = dee_index_lookup (fix->index, "scraperer", DEE_TERM_MATCH_PREFIX);
 
432
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 0);
 
433
  g_object_unref (results);
 
434
}
 
435
 
 
436
static void
372
437
test_prefix_3_rows (Fixture *fix, gconstpointer data)
373
438
{
374
439
  DeeModelIter *iter, *i0, *i1;
393
458
 
394
459
  results = dee_index_lookup (fix->index, "hel", DEE_TERM_MATCH_PREFIX);
395
460
  g_assert_cmpint (dee_result_set_get_n_rows (results), ==, 2);
 
461
  iter = dee_result_set_next (results);
396
462
  g_assert (iter == i0 || iter == i1);
397
463
  iter = dee_result_set_next (results);
398
464
  g_assert (iter == i0 || iter == i1);
470
536
              setup_text_tree, test_text_with_dupe_terms_per_row, teardown);
471
537
  g_test_add ("/Index/Tree/Prefix1Row", Fixture, 0,
472
538
              setup_text_tree, test_prefix_1_row, teardown);
 
539
  g_test_add ("/Index/Tree/Prefix1RowMultiterm", Fixture, 0,
 
540
              setup_text_tree, test_prefix_1_row_multiterm, teardown);
 
541
  g_test_add ("/Index/Tree/Prefix2Rows", Fixture, 0,
 
542
              setup_text_tree, test_prefix_2_rows, teardown);
473
543
  g_test_add ("/Index/Tree/Prefix3Rows", Fixture, 0,
474
544
              setup_text_tree, test_prefix_3_rows, teardown);
475
545
  g_test_add ("/Index/Tree/Prefix4RowsAndClear", Fixture, 0,