MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / test_RGMatrix_del_entry

Function test_RGMatrix_del_entry

tests/unit/test_rg_matrix.c:511–705  ·  view source on GitHub ↗

multiple delete entry scenarios

Source from the content-addressed store, hash-verified

509
510// multiple delete entry scenarios
511void test_RGMatrix_del_entry() {
512 GrB_Type t = GrB_UINT64;
513 RG_Matrix A = NULL;
514 GrB_Matrix M = NULL;
515 GrB_Matrix DP = NULL;
516 GrB_Matrix DM = NULL;
517 GrB_Info info = GrB_SUCCESS;
518 GrB_Index nvals = 0;
519 GrB_Index nrows = 100;
520 GrB_Index ncols = 100;
521 GrB_Index i = 0;
522 GrB_Index j = 1;
523 uint64_t x = 1;
524 bool entry_deleted = false;
525
526 info = RG_Matrix_new(&A, t, nrows, ncols);
527 TEST_ASSERT(info == GrB_SUCCESS);
528
529 // get internal matrices
530 M = RG_MATRIX_M(A);
531 DP = RG_MATRIX_DELTA_PLUS(A);
532 DM = RG_MATRIX_DELTA_MINUS(A);
533
534 //--------------------------------------------------------------------------
535 // remove none existing entry
536 //--------------------------------------------------------------------------
537
538 info = RG_Matrix_removeEntry_UINT64(A, i, j, x, &entry_deleted);
539 TEST_ASSERT(info == GrB_NO_VALUE);
540
541 // matrix should not contain any entries in either DP or DM
542 TEST_ASSERT(RG_Matrix_Synced(A));
543
544 //--------------------------------------------------------------------------
545 // remove none flushed addition
546 //--------------------------------------------------------------------------
547
548 // set element at position i,j
549 info = RG_Matrix_setElement_UINT64(A, x, i, j);
550 TEST_ASSERT(info == GrB_SUCCESS);
551
552 // remove element at position i,j
553 info = RG_Matrix_removeEntry_UINT64(A, i, j, x, &entry_deleted);
554 TEST_ASSERT(info == GrB_SUCCESS);
555
556 // matrix should be mark as dirty
557 TEST_ASSERT(RG_Matrix_isDirty(A));
558
559 //--------------------------------------------------------------------------
560 // validations
561 //--------------------------------------------------------------------------
562
563 // A should be empty
564 RG_Matrix_nvals(&nvals, A);
565 TEST_ASSERT(nvals == 0);
566
567 // M should be empty
568 M_EMPTY();

Callers

nothing calls this directly

Calls 8

RG_Matrix_newFunction · 0.85
RG_Matrix_SyncedFunction · 0.85
RG_Matrix_isDirtyFunction · 0.85
RG_Matrix_nvalsFunction · 0.85
RG_Matrix_waitFunction · 0.85
RG_Matrix_freeFunction · 0.85

Tested by

no test coverage detected